forked from Minki/linux
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>
This commit is contained in:
parent
e8172a9381
commit
637ab157d4
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user