1

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:
Guenter Roeck 2024-07-09 21:23:30 -07:00
parent 8abff91c61
commit e38b05f0a2

View File

@ -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]);