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: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>wifi-calibration
parent
0f3721c51e
commit
cdb1dc3f1c
|
@ -35,6 +35,7 @@
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
|
#include <linux/util_macros.h>
|
||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static const unsigned short normal_i2c[] = {
|
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;
|
unsigned long best0, best1;
|
||||||
|
|
||||||
/* Best fit for cksel = 0 */
|
/* Best fit for cksel = 0 */
|
||||||
for (reg0 = 0; reg0 < ARRAY_SIZE(pwm_freq_cksel0) - 1; reg0++) {
|
reg0 = find_closest_descending(val, pwm_freq_cksel0,
|
||||||
if (val > (pwm_freq_cksel0[reg0] +
|
ARRAY_SIZE(pwm_freq_cksel0));
|
||||||
pwm_freq_cksel0[reg0 + 1]) / 2)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (val < 375) /* cksel = 1 can't beat this */
|
if (val < 375) /* cksel = 1 can't beat this */
|
||||||
return reg0;
|
return reg0;
|
||||||
best0 = pwm_freq_cksel0[reg0];
|
best0 = pwm_freq_cksel0[reg0];
|
||||||
|
|
Loading…
Reference in New Issue