Messages in this thread | | | Date | Mon, 5 Nov 2012 22:03:17 +0100 | From | Thierry Reding <> | Subject | Re: [PATCH] pwm: lpc32xx - Fix the PWM polarity |
| |
Cc'ing Roland and Alexandre. What do you guys think?
On Mon, Nov 05, 2012 at 05:48:45PM +0100, Alban Bedel wrote: > Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> > --- > drivers/pwm/pwm-lpc32xx.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/drivers/pwm/pwm-lpc32xx.c b/drivers/pwm/pwm-lpc32xx.c > index adb87f0..a2704b8 100644 > --- a/drivers/pwm/pwm-lpc32xx.c > +++ b/drivers/pwm/pwm-lpc32xx.c > @@ -51,7 +51,11 @@ static int lpc32xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, > > c = 256 * duty_ns; > do_div(c, period_ns); > - duty_cycles = c; > + if (c > 255) > + c = 255; > + if (c < 1) > + c = 1; > + duty_cycles = 256 - c; > > writel(PWM_ENABLE | PWM_RELOADV(period_cycles) | PWM_DUTY(duty_cycles), > lpc32xx->base + (pwm->hwpwm << 2));
Shouldn't duty_cycles rather be 255 - c, such that it can still be 0?
Thierry [unhandled content-type:application/pgp-signature] | |