[lm-sensors] [Module] hwmon: GM/GME965 GM45 and more chips IGP thermal report

Lu Zhihe tombowfly at gmail.com
Fri Oct 9 16:07:41 CEST 2009


Hi Jean,

     Thank you very much for your reply!

2009/10/8 Jean Delvare <khali at linux-fr.org>:
> Hi Lu,
> Can you please elaborate about it? Don't you ever plan to get your
> driver included in the kernel tree?

   I am glad to know you think it maybe worth to merge to the kernel
tree. :-)  Thank you again!
Sure, if it can even be merged, I will try to improve it to meet the
need.  Tobias and I had work on this
aim too.

> If your driver won't ever be merged, I admit I am not interested in
> reviewing it. If the plan is to merge it, then I will review it.
>
> I can't test your code, I do not have any supporter piece of hardware,
> sorry.
>
> I've looked at the intel-agp driver, which binds to the same PCI
> devices. It's way too big and complex to resort to the same hack we
> have in sis5595 and i2c-sis5595 for example. The intel-agp driver must
> remain a "real" pci driver which binds to its devices, in particular so
> that power management works OK.
>
> This leaves us with 3 alternatives.
>
> 1* Add hwmon support to the intel-agp driver directly. As this driver
>   is already somewhat big (77 kB) it would probably go unnoticed. The
>   hwmon part in your driver is probably about 350 lines of code.
>
> 2* Implement hwmon as a separate module, simply use pci_get_dev()
>   during initialization of that module, and if a device is found,
>   register a platform driver and instantiate a platform device for the
>   hwmon part. This is essentially what your implementation does,
>   except that your module registers the platform driver and device
>   regardless of the presence of a supported chip, which is bad.
>
> 3* Let intel-agp instantiate the platform device for hwmon, and only
>   register the driver in the separate module. This avoid some code
>   duplication, and we can have the hwmon module auto-load. Maybe the
>   best compromise code-wise, but possibly somewhat more difficult to
>   maintain.
>
> Note that driver auto-loading should also work with option #2, although
> your implementation doesn't do it. It shouldn't be too hard to add.

   Excuse me, I don''t quite catch about "driver auto-loading". Do you
meet gm965temp build-in,
while not as a module?
   Can you give me more hint? And I will try to improve gm965temp. Thanks a lot!

> I don't have a strong opinion between these 3 choices, but I want the
> driver to auto-load as needed.
>
> --
> Jean Delvare
>

The updated sensor-detect patch based on svn code is as following:
---

From: Lu Zhihe <tombowfly at gmail.com>

Subject: [PATCH] sensors-detect add gm965temp detected for lm-sensors

Signed-off-by: Lu Zhihe <tombowfly at gmail.com>

---

--- prog/detect/sensors-detect.orig	2009-10-09 21:43:12.000000000 +0000
+++ prog/detect/sensors-detect	2009-10-09 21:50:13.000000000 +0000
@@ -147,6 +147,16 @@ $revision =~ s/ \([^()]*\)//;
 		procid	=> "Intel SCH",
 		driver	=> "i2c-isch",
 	}, {
+		vendid	=> 0x8086,
+		devid	=> 0x2a00,
+		procid	=> "Intel GM965",
+		driver	=> "gm965temp",
+	}, {
+		vendid	=> 0x8086,
+		devid	=> 0x2a10,
+		procid	=> "Intel GME965",
+		driver	=> "gm965temp",
+	}, {
 		vendid	=> 0x1106,
 		devid	=> 0x3040,
 		procid	=> "VIA Technologies VT82C586B Apollo ACPI",
@@ -1860,6 +1870,10 @@ use vars qw(@cpu_ids);
 		driver => "i5k_amb",
 		detect => \&intel_amb_detect,
 	}, {
+		name => "Intel GM/GME965 thermal sensor",
+		driver => "gm965temp",
+		detect => \&intel_gm965_detect,
+	}, {
 		name => "VIA C7 thermal and voltage sensors",
 		driver => "c7temp",
 		detect => \&c7temp_detect,
@@ -5301,6 +5315,15 @@ sub intel_amb_detect
 	return;
 }

+sub intel_gm965_detect
+{
+        if ((exists $pci_list{'8086:2a00'}) ||  # Intel GM965
+            (exists $pci_list{'8086:2a10'})) {  # Intel GME965
+                return 9;
+        }
+        return;
+}
+
 sub coretemp_detect
 {
 	my $probecpu;

---
Thx

Lu Zhihe




More information about the lm-sensors mailing list