summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2014-05-12 11:20:24 -0700
committerGuenter Roeck <linux@roeck-us.net>2014-05-21 16:02:24 -0700
commitceeaa70c0fa7fbf30a0c7a2b07dc895de22583c9 (patch)
tree02fd9f156adea87cbff20b213ffd567a3260c77a
parent84899d394e755989a1cc080083080f7695c36467 (diff)
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>
-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;