瀏覽代碼

hwmon: (jc42) Allow negative hysteresis temperatures

The driver supports negative high and critical limits, it can return
negative hysteresis values, so there is no good reason to not let the
user write negative hysteresis values.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Jean Delvare 10 年之前
父節點
當前提交
9130880a1c
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      drivers/hwmon/jc42.c

+ 4 - 3
drivers/hwmon/jc42.c

@@ -304,15 +304,16 @@ static ssize_t set_temp_crit_hyst(struct device *dev,
 				  const char *buf, size_t count)
 				  const char *buf, size_t count)
 {
 {
 	struct jc42_data *data = dev_get_drvdata(dev);
 	struct jc42_data *data = dev_get_drvdata(dev);
-	unsigned long val;
+	long val;
 	int diff, hyst;
 	int diff, hyst;
 	int err;
 	int err;
 	int ret = count;
 	int ret = count;
 
 
-	if (kstrtoul(buf, 10, &val) < 0)
+	if (kstrtol(buf, 10, &val) < 0)
 		return -EINVAL;
 		return -EINVAL;
 
 
-	val = clamp_val(val, 0, JC42_TEMP_MAX);
+	val = clamp_val(val, (data->extended ? JC42_TEMP_MIN_EXTENDED :
+			      JC42_TEMP_MIN) - 6000, JC42_TEMP_MAX);
 	diff = jc42_temp_from_reg(data->temp[t_crit]) - val;
 	diff = jc42_temp_from_reg(data->temp[t_crit]) - val;
 
 
 	hyst = 0;
 	hyst = 0;