Message ID | dd03cc467ac3fc470826aef523822b32e15dc929.1590514331.git.gurus@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Convert PWM period and duty cycle to u64 | expand |
On Tue, May 26, 2020 at 10:35:04AM -0700, Guru Das Srinagesh wrote: > 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. > > Cc: Daniel Thompson <daniel.thompson@linaro.org> > Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org> > --- > drivers/pwm/pwm-clps711x.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pwm/pwm-clps711x.c b/drivers/pwm/pwm-clps711x.c > index 924d39a..ba9500a 100644 > --- a/drivers/pwm/pwm-clps711x.c > +++ b/drivers/pwm/pwm-clps711x.c > @@ -43,7 +43,7 @@ static void clps711x_pwm_update_val(struct clps711x_chip *priv, u32 n, u32 v) > static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v) > { > /* Duty cycle 0..15 max */ > - return DIV_ROUND_CLOSEST(v * 0xf, pwm->args.period); > + return DIV64_U64_ROUND_CLOSEST(v * 0xf, pwm->args.period); > } > > static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) > -- Hi Daniel, Could you please review this patch when you get a chance to? Thank you. Guru Das.
On Thu, May 28, 2020 at 01:33:41PM -0700, Guru Das Srinagesh wrote: > On Tue, May 26, 2020 at 10:35:04AM -0700, Guru Das Srinagesh wrote: > > 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. > > > > Cc: Daniel Thompson <daniel.thompson@linaro.org> > > Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org> > > --- > > drivers/pwm/pwm-clps711x.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/pwm/pwm-clps711x.c b/drivers/pwm/pwm-clps711x.c > > index 924d39a..ba9500a 100644 > > --- a/drivers/pwm/pwm-clps711x.c > > +++ b/drivers/pwm/pwm-clps711x.c > > @@ -43,7 +43,7 @@ static void clps711x_pwm_update_val(struct clps711x_chip *priv, u32 n, u32 v) > > static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v) > > { > > /* Duty cycle 0..15 max */ > > - return DIV_ROUND_CLOSEST(v * 0xf, pwm->args.period); > > + return DIV64_U64_ROUND_CLOSEST(v * 0xf, pwm->args.period); > > } > > > > static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) > > -- > > Hi Daniel, > > Could you please review this patch when you get a chance to? I don't normally review PWM patches... but this no longer has the bug there was there when I first read this patch. Daniel.
diff --git a/drivers/pwm/pwm-clps711x.c b/drivers/pwm/pwm-clps711x.c index 924d39a..ba9500a 100644 --- a/drivers/pwm/pwm-clps711x.c +++ b/drivers/pwm/pwm-clps711x.c @@ -43,7 +43,7 @@ static void clps711x_pwm_update_val(struct clps711x_chip *priv, u32 n, u32 v) static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v) { /* Duty cycle 0..15 max */ - return DIV_ROUND_CLOSEST(v * 0xf, pwm->args.period); + return DIV64_U64_ROUND_CLOSEST(v * 0xf, pwm->args.period); } static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
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. Cc: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org> --- drivers/pwm/pwm-clps711x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)