[PATCH] hwmon: soften lm75 initialization
authorJean Delvare <khali@linux-fr.org>
Wed, 27 Jul 2005 19:28:28 +0000 (21:28 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Sep 2005 16:14:06 +0000 (09:14 -0700)
The LM75 initialization is a bit agressive, it arbitrarily reconfigures
the chip. Make it only change the bit it needs. This is a port from
the 2.4 kernel version of the driver (lm_sensors).

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/hwmon/lm75.c

index 5be164ed278ebaf236f9b65b98663b450cef8ba5..79d7ebc9b14a6ee9c680dc0086879fc7f3ca946d 100644 (file)
@@ -251,8 +251,12 @@ static int lm75_write_value(struct i2c_client *client, u8 reg, u16 value)
 
 static void lm75_init_client(struct i2c_client *client)
 {
-       /* Initialize the LM75 chip */
-       lm75_write_value(client, LM75_REG_CONF, 0);
+       int reg;
+
+       /* Enable if in shutdown mode */
+       reg = lm75_read_value(client, LM75_REG_CONF);
+       if (reg >= 0 && (reg & 0x01))
+               lm75_write_value(client, LM75_REG_CONF, reg & 0xfe);
 }
 
 static struct lm75_data *lm75_update_device(struct device *dev)