Browse Source

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>
Jean Delvare 18 years ago
parent
commit
58fe0809cc
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/hwmon/via686a.c

+ 3 - 2
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)