| From 82e683474db2a5b7ba144850881c87272fd22d57 Mon Sep 17 00:00:00 2001 |
| From: Guillem Jover <guillem@hadrons.org> |
| Date: Fri, 17 Sep 2010 17:24:12 +0200 |
| Subject: [PATCH] hwmon: (f75375s) Do not overwrite values read from registers |
| |
| commit c3b327d60bbba3f5ff8fd87d1efc0e95eb6c121b upstream. |
| |
| 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> |
| Signed-off-by: Jean Delvare <khali@linux-fr.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/hwmon/f75375s.c | 4 ++-- |
| 1 files changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/hwmon/f75375s.c b/drivers/hwmon/f75375s.c |
| index 303160c..72afd06 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)) ; |
| -- |
| 1.7.0.4 |
| |