powerpc/windfarm: Updates to lm75 and max6690 sensors
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 18 Apr 2012 22:16:54 +0000 (22:16 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 30 Apr 2012 05:37:24 +0000 (15:37 +1000)
This allows those modules to load on PowerMac7,2 PowerMac7,3
and RackMac3,1 and add the sensor name conversion for those
machines.

This will be used by the corresponding new windfarm modules
for those machines.

Note that since therm_pm72 is linked first, it will still
take priority on those i2c devices if built-in. If using modules
it will depend which is loaded first, but you should avoid building
therm_pm72 if you are using the new windfarm drivers

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
drivers/macintosh/windfarm_lm75_sensor.c
drivers/macintosh/windfarm_max6690_sensor.c

index 4cc3f935709d19ba2b6b30452ea061d5c0f17967..b0c2d3695b347fc1e5c8f16c22527903ecfa1630 100644 (file)
@@ -116,6 +116,12 @@ static int wf_lm75_probe(struct i2c_client *client,
                name = "optical-drive-temp";
        else if (!strcmp(loc, "HD Temp"))
                name = "hard-drive-temp";
+       else if (!strcmp(loc, "PCI SLOTS"))
+               name = "slots-temp";
+       else if (!strcmp(loc, "CPU A INLET"))
+               name = "cpu-inlet-temp-0";
+       else if (!strcmp(loc, "CPU B INLET"))
+               name = "cpu-inlet-temp-1";
        else
                return -ENXIO;
        
@@ -170,11 +176,6 @@ static struct i2c_driver wf_lm75_driver = {
 
 static int __init wf_lm75_sensor_init(void)
 {
-       /* Don't register on old machines that use therm_pm72 for now */
-       if (of_machine_is_compatible("PowerMac7,2") ||
-           of_machine_is_compatible("PowerMac7,3") ||
-           of_machine_is_compatible("RackMac3,1"))
-               return -ENODEV;
        return i2c_add_driver(&wf_lm75_driver);
 }
 
index f4902f4cf8cbb7de79959323022da95054aeda63..371b058d2f7d9565a4dada1a8bd99616ec30ec50 100644 (file)
@@ -74,7 +74,11 @@ static int wf_max6690_probe(struct i2c_client *client,
                return -ENXIO;
        }
 
-       if (!strcmp(loc, "BACKSIDE"))
+       /*
+        * We only expose the external temperature register for
+        * now as this is all we need for our control loops
+        */
+       if (!strcmp(loc, "BACKSIDE") || !strcmp(loc, "SYS CTRLR AMBIENT"))
                name = "backside-temp";
        else if (!strcmp(loc, "NB Ambient"))
                name = "north-bridge-temp";
@@ -128,11 +132,6 @@ static struct i2c_driver wf_max6690_driver = {
 
 static int __init wf_max6690_sensor_init(void)
 {
-       /* Don't register on old machines that use therm_pm72 for now */
-       if (of_machine_is_compatible("PowerMac7,2") ||
-           of_machine_is_compatible("PowerMac7,3") ||
-           of_machine_is_compatible("RackMac3,1"))
-               return -ENODEV;
        return i2c_add_driver(&wf_max6690_driver);
 }