summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/emc1403.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-05-12 20:20:24 +0200
committerGuenter Roeck <linux@roeck-us.net>2014-05-22 01:02:24 +0200
commitceeaa70c0fa7fbf30a0c7a2b07dc895de22583c9 (patch)
tree02fd9f156adea87cbff20b213ffd567a3260c77a /drivers/hwmon/emc1403.c
parenthwmon: (emc1403) Make all hyst attributes except for temp1_crit_hyst read-only (diff)
downloadlinux-ceeaa70c0fa7fbf30a0c7a2b07dc895de22583c9.tar.xz
linux-ceeaa70c0fa7fbf30a0c7a2b07dc895de22583c9.zip
hwmon: (emc1403) Relax hysteresis limit write checks
Writing the hysteresis limit returned -ERANGE if the written hysteresis was too high or too low. Relax error check and adjust the hysteresis value to its valid range. Reviewed-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/emc1403.c')
-rw-r--r--drivers/hwmon/emc1403.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/hwmon/emc1403.c b/drivers/hwmon/emc1403.c
index 46220b131153..c62bc044a660 100644
--- a/drivers/hwmon/emc1403.c
+++ b/drivers/hwmon/emc1403.c
@@ -147,12 +147,7 @@ static ssize_t store_hyst(struct device *dev,
goto fail;
hyst = limit * 1000 - val;
- hyst = DIV_ROUND_CLOSEST(hyst, 1000);
- if (hyst < 0 || hyst > 255) {
- retval = -ERANGE;
- goto fail;
- }
-
+ hyst = clamp_val(DIV_ROUND_CLOSEST(hyst, 1000), 0, 255);
retval = regmap_write(regmap, 0x21, hyst);
if (retval == 0)
retval = count;