diff options
author | Jean Delvare <khali@linux-fr.org> | 2005-07-27 15:28:28 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-05 12:14:06 -0400 |
commit | e647ecf15e365679f0528d7815ab4db0d4802918 (patch) | |
tree | c1892aa10ee99705e706680760d6bf247e5914af /drivers/hwmon/lm75.c | |
parent | 17f990c87a1e5addc49b99a53b3d2a2fac9680e9 (diff) |
[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) | |||
251 | 251 | ||
252 | static void lm75_init_client(struct i2c_client *client) | 252 | static void lm75_init_client(struct i2c_client *client) |
253 | { | 253 | { |
254 | /* Initialize the LM75 chip */ | 254 | int reg; |
255 | lm75_write_value(client, LM75_REG_CONF, 0); | 255 | |
256 | /* Enable if in shutdown mode */ | ||
257 | reg = lm75_read_value(client, LM75_REG_CONF); | ||
258 | if (reg >= 0 && (reg & 0x01)) | ||
259 | lm75_write_value(client, LM75_REG_CONF, reg & 0xfe); | ||
256 | } | 260 | } |
257 | 261 | ||
258 | static struct lm75_data *lm75_update_device(struct device *dev) | 262 | static struct lm75_data *lm75_update_device(struct device *dev) |