Re: [PATCH] pwm: lpc32xx - Fix the PWM polarity

From: Thierry Reding
Date: Mon Nov 05 2012 - 16:03:11 EST


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@xxxxxxxxxxxxxxxxx>
> ---
> 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

Attachment: pgp00000.pgp
Description: PGP signature