summaryrefslogtreecommitdiff
path: root/drivers/hwmon/lm77.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-04-20 19:07:42 +0400
committerGuenter Roeck <linux@roeck-us.net>2014-05-22 03:02:20 +0400
commit50bf46509f24c914562b4d818a155d8dc8f45e10 (patch)
tree5e1e777ca2f6b49361a3dbd3b080bb1ef9131606 /drivers/hwmon/lm77.c
parent9f9edcd4c32bf33255f8db7329c78a99baa94585 (diff)
downloadlinux-50bf46509f24c914562b4d818a155d8dc8f45e10.tar.xz
hwmon: (lm77) Do not preserve hysteresis when updating critical temp limit
Updating the hysteresis value when updating the critical temperature limit was following the rule of 'least surprise'. However, it had the undesirable side effect of changing the hysteresis for all other attributes, which defeats the purpose of least surprise. In addition, it could result in invalid hysteresis values if the resulting hysteresis was too large. In such cases the resulting hysteresis ended up changed anyway, which again defeats the purpose. So drop that code and document the new behavior. Reviewed-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/lm77.c')
-rw-r--r--drivers/hwmon/lm77.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/hwmon/lm77.c b/drivers/hwmon/lm77.c
index 4cd8a513c47b..85e5b3355be4 100644
--- a/drivers/hwmon/lm77.c
+++ b/drivers/hwmon/lm77.c
@@ -216,13 +216,11 @@ static ssize_t set_temp_crit_hyst(struct device *dev,
return count;
}
-/* preserve hysteresis when setting T_crit */
static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
struct i2c_client *client = to_i2c_client(dev);
struct lm77_data *data = i2c_get_clientdata(client);
- int oldcrithyst;
unsigned long val;
int err;
@@ -231,13 +229,9 @@ static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr,
return err;
mutex_lock(&data->update_lock);
- oldcrithyst = data->temp_crit - data->temp_hyst;
data->temp_crit = val;
- data->temp_hyst = data->temp_crit - oldcrithyst;
lm77_write_value(client, LM77_REG_TEMP_CRIT,
LM77_TEMP_TO_REG(data->temp_crit));
- lm77_write_value(client, LM77_REG_TEMP_HYST,
- LM77_TEMP_TO_REG(data->temp_hyst));
mutex_unlock(&data->update_lock);
return count;
}