Commit e38b05f0 authored by Guenter Roeck's avatar Guenter Roeck

hwmon: (lm95234) Use find_closest to find matching update interval

Use find_closest() instead of manually coding it to find best update
interval.

Since find_closest() uses rounding to find the best match, the resulting
update interval will now reflect the update interval that is closest to
the requested value, not the value that is lower or equal to the requested
value.
Reviewed-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 8abff91c
......@@ -18,6 +18,7 @@
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/sysfs.h>
#include <linux/util_macros.h>
#define DRVNAME "lm95234"
......@@ -471,10 +472,7 @@ static ssize_t update_interval_store(struct device *dev,
if (ret < 0)
return ret;
for (regval = 0; regval < 3; regval++) {
if (val <= update_intervals[regval])
break;
}
regval = find_closest(val, update_intervals, ARRAY_SIZE(update_intervals));
mutex_lock(&data->update_lock);
data->interval = msecs_to_jiffies(update_intervals[regval]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment