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: Tzung-Bi Shih <tzungbi@kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user