summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorGuillem Jover <guillem@hadrons.org>2010-09-17 15:24:12 (GMT)
committerJean Delvare <khali@linux-fr.org>2010-09-17 15:24:12 (GMT)
commitc3b327d60bbba3f5ff8fd87d1efc0e95eb6c121b (patch)
tree0b01025d310d304d5a2444ff8f5db14931df95ed /drivers
parent96f3640894012be7dd15a384566bfdc18297bc6c (diff)
downloadlinux-c3b327d60bbba3f5ff8fd87d1efc0e95eb6c121b.tar.xz
hwmon: (f75375s) Do not overwrite values read from registers
All bits in the values read from registers to be used for the next write were getting overwritten, avoid doing so to not mess with the current configuration. Signed-off-by: Guillem Jover <guillem@hadrons.org> Cc: Riku Voipio <riku.voipio@iki.fi> Cc: stable@kernel.org Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/f75375s.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/hwmon/f75375s.c b/drivers/hwmon/f75375s.c
index e5828c0..9638d58 100644
--- a/drivers/hwmon/f75375s.c
+++ b/drivers/hwmon/f75375s.c
@@ -298,7 +298,7 @@ static int set_pwm_enable_direct(struct i2c_client *client, int nr, int val)
return -EINVAL;
fanmode = f75375_read8(client, F75375_REG_FAN_TIMER);
- fanmode = ~(3 << FAN_CTRL_MODE(nr));
+ fanmode &= ~(3 << FAN_CTRL_MODE(nr));
switch (val) {
case 0: /* Full speed */
@@ -350,7 +350,7 @@ static ssize_t set_pwm_mode(struct device *dev, struct device_attribute *attr,
mutex_lock(&data->update_lock);
conf = f75375_read8(client, F75375_REG_CONFIG1);
- conf = ~(1 << FAN_CTRL_LINEAR(nr));
+ conf &= ~(1 << FAN_CTRL_LINEAR(nr));
if (val == 0)
conf |= (1 << FAN_CTRL_LINEAR(nr)) ;