diff options
author | Paul Mackerras <paulus@samba.org> | 2005-11-25 22:12:01 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-11-25 22:12:01 +1100 |
commit | 26925c5910ab77fc95b4d8bb6d98780b50ab1e5a (patch) | |
tree | 7d7506b3aedeea4db8b8659f046850db97503a89 /drivers/hwmon/it87.c | |
parent | 55bb239e5464ecde046af3e45052ef06efda6444 (diff) | |
parent | cd0cca7bf5e201dcea5632f78ad9b37cb419a5df (diff) | |
download | talos-obmc-linux-26925c5910ab77fc95b4d8bb6d98780b50ab1e5a.tar.gz talos-obmc-linux-26925c5910ab77fc95b4d8bb6d98780b50ab1e5a.zip |
Merge ../linux-2.6
Diffstat (limited to 'drivers/hwmon/it87.c')
-rw-r--r-- | drivers/hwmon/it87.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c index 6c41e25e670b..a61f5d00f10a 100644 --- a/drivers/hwmon/it87.c +++ b/drivers/hwmon/it87.c @@ -522,8 +522,15 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, struct i2c_client *client = to_i2c_client(dev); struct it87_data *data = i2c_get_clientdata(client); int val = simple_strtol(buf, NULL, 10); + u8 reg = it87_read_value(client, IT87_REG_FAN_DIV); down(&data->update_lock); + switch (nr) { + case 0: data->fan_div[nr] = reg & 0x07; break; + case 1: data->fan_div[nr] = (reg >> 3) & 0x07; break; + case 2: data->fan_div[nr] = (reg & 0x40) ? 3 : 1; break; + } + data->fan_min[nr] = FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr])); it87_write_value(client, IT87_REG_FAN_MIN(nr), data->fan_min[nr]); up(&data->update_lock); |