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>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/sysfs.h>
+#include <linux/util_macros.h>
#define DRVNAME "lm95234"
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]);