Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdb1dc3f authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Linus Torvalds
Browse files

hwmon: (w83795) use find_closest_descending() in pwm_freq_to_reg()



Replace the loop iterating over pwm_freq_cksel0 with a call to
find_closest_descending().

Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0f3721c5
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@
#include <linux/err.h>
#include <linux/mutex.h>
#include <linux/jiffies.h>
#include <linux/util_macros.h>

/* Addresses to scan */
static const unsigned short normal_i2c[] = {
@@ -308,11 +309,8 @@ static u8 pwm_freq_to_reg(unsigned long val, u16 clkin)
	unsigned long best0, best1;

	/* Best fit for cksel = 0 */
	for (reg0 = 0; reg0 < ARRAY_SIZE(pwm_freq_cksel0) - 1; reg0++) {
		if (val > (pwm_freq_cksel0[reg0] +
			   pwm_freq_cksel0[reg0 + 1]) / 2)
			break;
	}
	reg0 = find_closest_descending(val, pwm_freq_cksel0,
				       ARRAY_SIZE(pwm_freq_cksel0));
	if (val < 375)	/* cksel = 1 can't beat this */
		return reg0;
	best0 = pwm_freq_cksel0[reg0];