hwmon: (it87) Don't arbitrarily enable temperature channels
authorJean Delvare <khali@linux-fr.org>
Wed, 14 Apr 2010 14:14:09 +0000 (16:14 +0200)
committerJean Delvare <khali@linux-fr.org>
Wed, 14 Apr 2010 14:14:09 +0000 (16:14 +0200)
Temperature channels can be used in 2 different modes (thermistor and
thermal diode) and we don't know which one, if any, is correct for
every given board. So don't arbitrarily choose one. Instead, leave the
temperature channels untouched. They can be configured from user-space
if needed anyway.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/hwmon/it87.c

index 1002befd87d5c63268e8d2a4fb7f0513e52657d0..5e39e2d403800f122cb02c400132fc1eeabac4ea 100644 (file)
@@ -545,6 +545,7 @@ static ssize_t set_sensor(struct device *dev, struct device_attribute *attr,
 
        mutex_lock(&data->update_lock);
 
+       data->sensor = it87_read_value(data, IT87_REG_TEMP_ENABLE);
        data->sensor &= ~(1 << nr);
        data->sensor &= ~(8 << nr);
        if (val == 2) { /* backwards compatibility */
@@ -1841,14 +1842,10 @@ static void __devinit it87_init_device(struct platform_device *pdev)
                        it87_write_value(data, IT87_REG_TEMP_HIGH(i), 127);
        }
 
-       /* Check if temperature channels are reset manually or by some reason */
-       tmp = it87_read_value(data, IT87_REG_TEMP_ENABLE);
-       if ((tmp & 0x3f) == 0) {
-               /* Temp1,Temp3=thermistor; Temp2=thermal diode */
-               tmp = (tmp & 0xc0) | 0x2a;
-               it87_write_value(data, IT87_REG_TEMP_ENABLE, tmp);
-       }
-       data->sensor = tmp;
+       /* Temperature channels are not forcibly enabled, as they can be
+        * set to two different sensor types and we can't guess which one
+        * is correct for a given system. These channels can be enabled at
+        * run-time through the temp{1-3}_type sysfs accessors if needed. */
 
        /* Check if voltage monitors are reset manually or by some reason */
        tmp = it87_read_value(data, IT87_REG_VIN_ENABLE);