summary refs log tree commit diff
path: root/drivers/hwmon/via686a.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2007-06-09 10:11:16 -0400
committerMark M. Hoffman <mhoffman@lightlink.com>2007-07-19 14:22:13 -0400
commit58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6 (patch)
tree7dff34a23b7ed5f517ca5fa0368df4e41d1ca6b6 /drivers/hwmon/via686a.c
parent1550cb6d7e78c7cfdd7b48bee6809795d43d6a33 (diff)
downloadlinux-58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6.tar.gz
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)