summaryrefslogtreecommitdiff
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2016-07-04 08:27:38 -0700
committerGuenter Roeck <linux@roeck-us.net>2016-09-08 21:34:14 -0700
commit637ab157d4a94145a6c9b89113222b6c80fab54c (patch)
tree52f89c7dff3443ca50f071ddcadc6e857c910579 /drivers/hwmon
parente8172a9381f33b6a4b16871b9149171e0113bfde (diff)
downloadlwn-637ab157d4a94145a6c9b89113222b6c80fab54c.tar.gz
lwn-637ab157d4a94145a6c9b89113222b6c80fab54c.zip
hwmon: (lm95241) Use more accurate limits
The lower temperature limit is -128 degrees C. The supported upper limits are 127.875 or 255.875 degrees C. Also, don't fail if a value outside the supported range is provided when setting a temperature limit. Instead, clamp the provided value to the available value range. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/lm95241.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/hwmon/lm95241.c b/drivers/hwmon/lm95241.c
index df94f486b21c..3d96c3fcba9b 100644
--- a/drivers/hwmon/lm95241.c
+++ b/drivers/hwmon/lm95241.c
@@ -205,7 +205,7 @@ static ssize_t show_min(struct device *dev, struct device_attribute *attr,
return snprintf(buf, PAGE_SIZE - 1,
data->config & to_sensor_dev_attr(attr)->index ?
- "-127000\n" : "0\n");
+ "-128000\n" : "0\n");
}
static ssize_t set_min(struct device *dev, struct device_attribute *attr,
@@ -216,8 +216,6 @@ static ssize_t set_min(struct device *dev, struct device_attribute *attr,
if (kstrtol(buf, 10, &val) < 0)
return -EINVAL;
- if (val < -128000)
- return -EINVAL;
mutex_lock(&data->update_lock);
@@ -242,7 +240,7 @@ static ssize_t show_max(struct device *dev, struct device_attribute *attr,
return snprintf(buf, PAGE_SIZE - 1,
data->config & to_sensor_dev_attr(attr)->index ?
- "127000\n" : "255000\n");
+ "127875\n" : "255875\n");
}
static ssize_t set_max(struct device *dev, struct device_attribute *attr,
@@ -253,8 +251,6 @@ static ssize_t set_max(struct device *dev, struct device_attribute *attr,
if (kstrtol(buf, 10, &val) < 0)
return -EINVAL;
- if (val >= 256000)
- return -EINVAL;
mutex_lock(&data->update_lock);