pwm: sifive: Use 64-bit division macro
authorGuru Das Srinagesh <gurus@codeaurora.org>
Tue, 2 Jun 2020 22:31:12 +0000 (15:31 -0700)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 17 Jun 2020 18:42:09 +0000 (20:42 +0200)
Since the PWM framework is switching struct pwm_args.period's datatype
to u64, prepare for this transition by using DIV64_U64_ROUND_CLOSEST to
handle a 64-bit divisor.

Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Acked-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-sifive.c

index cc63f9baa481942f03e8a8228ce0b312ae15be25..62de0bb859214f3dea5623a2fe83ba4c4fe211d9 100644 (file)
@@ -181,7 +181,7 @@ static int pwm_sifive_apply(struct pwm_chip *chip, struct pwm_device *pwm,
         * consecutively
         */
        num = (u64)duty_cycle * (1U << PWM_SIFIVE_CMPWIDTH);
-       frac = DIV_ROUND_CLOSEST_ULL(num, state->period);
+       frac = DIV64_U64_ROUND_CLOSEST(num, state->period);
        /* The hardware cannot generate a 100% duty cycle */
        frac = min(frac, (1U << PWM_SIFIVE_CMPWIDTH) - 1);