summaryrefslogtreecommitdiff
path: root/drivers/hwmon/via686a.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2007-06-09 18:11:16 +0400
committerMark M. Hoffman <mhoffman@lightlink.com>2007-07-19 22:22:13 +0400
commit58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6 (patch)
tree7dff34a23b7ed5f517ca5fa0368df4e41d1ca6b6 /drivers/hwmon/via686a.c
parent1550cb6d7e78c7cfdd7b48bee6809795d43d6a33 (diff)
downloadlinux-58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6.tar.xz
hwmon/via686a: Temperature interrupt configuration fix
Fix the writing of the temperature interrupt configuration. The old code was working only by accident. Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/hwmon/via686a.c')
-rw-r--r--drivers/hwmon/via686a.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/hwmon/via686a.c b/drivers/hwmon/via686a.c
index 9a440c8cc520..a25b0542649c 100644
--- a/drivers/hwmon/via686a.c
+++ b/drivers/hwmon/via686a.c
@@ -740,9 +740,10 @@ static void via686a_init_client(struct i2c_client *client)
via686a_write_value(client, VIA686A_REG_CONFIG, (reg|0x01)&0x7F);
/* Configure temp interrupt mode for continuous-interrupt operation */
+ reg = via686a_read_value(client, VIA686A_REG_TEMP_MODE);
via686a_write_value(client, VIA686A_REG_TEMP_MODE,
- via686a_read_value(client, VIA686A_REG_TEMP_MODE) &
- !(VIA686A_TEMP_MODE_MASK | VIA686A_TEMP_MODE_CONTINUOUS));
+ (reg & ~VIA686A_TEMP_MODE_MASK)
+ | VIA686A_TEMP_MODE_CONTINUOUS);
}
static struct via686a_data *via686a_update_device(struct device *dev)