diff options
author | Jean Delvare <khali@linux-fr.org> | 2005-07-27 21:28:28 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-05 18:14:06 +0200 |
commit | e647ecf15e365679f0528d7815ab4db0d4802918 (patch) | |
tree | c1892aa10ee99705e706680760d6bf247e5914af /drivers/hwmon/lm75.c | |
parent | [PATCH] I2C: max6875 code cleanup (diff) | |
download | linux-e647ecf15e365679f0528d7815ab4db0d4802918.tar.xz linux-e647ecf15e365679f0528d7815ab4db0d4802918.zip |
[PATCH] hwmon: soften lm75 initialization
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>
Diffstat (limited to 'drivers/hwmon/lm75.c')
-rw-r--r-- | drivers/hwmon/lm75.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 5be164ed278e..79d7ebc9b14a 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -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) |