Input: max8997 - simplify open coding of a division using up to 64 divisions
The for loop is just a complicate way to express a division. Replace it by the actual division which is both simpler to understand for a human and more efficient for a CPU to calculate. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> Link: https://lore.kernel.org/r/20210316212233.50765-1-uwe@kleine-koenig.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
8b488ef295
commit
8f50743fee
|
@ -61,15 +61,10 @@ static int max8997_haptic_set_duty_cycle(struct max8997_haptic *chip)
|
|||
unsigned int duty = chip->pwm_period * chip->level / 100;
|
||||
ret = pwm_config(chip->pwm, duty, chip->pwm_period);
|
||||
} else {
|
||||
int i;
|
||||
u8 duty_index = 0;
|
||||
|
||||
for (i = 0; i <= 64; i++) {
|
||||
if (chip->level <= i * 100 / 64) {
|
||||
duty_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
duty_index = DIV_ROUND_UP(chip->level * 64, 100);
|
||||
|
||||
switch (chip->internal_mode_pattern) {
|
||||
case 0:
|
||||
max8997_write_reg(chip->client,
|
||||
|
|
Loading…
Reference in New Issue