Re: [PATCH] PWM: Add support for configuring polarity of PWM

From: Thierry Reding
Date: Mon Jul 23 2012 - 09:08:23 EST


On Mon, Jul 23, 2012 at 12:51:11PM +0000, Philip, Avinash wrote:
> On Mon, Jul 23, 2012 at 14:00:32, Thierry Reding wrote:
> > On Wed, Jul 18, 2012 at 06:24:13PM +0530, Philip, Avinash wrote:
[...]
> > > +
> > > + if (test_bit(PWMF_ENABLED, &pwm->flags)) {
> > > + dev_err(pwm->chip->dev,
> > > + "Polarity configuration Failed!, PWM device enabled\n");
> > > + return -EBUSY;
> > > + }
> >
> > Maybe something like: "polarity cannot be configured while PWM device is
> > enabled"?
>
> Ok I will update.
>
> > Though I'm not sure the error message is all that useful. I'd
> > expect the user driver to handle -EBUSY specially.
>
> On EBUSY, client driver has to rework on it. Nothing to be done from
> framework

Exactly, so I think that if an error is displayed because the PWM has
been enabled, then that client (== user) driver should output an error
message, not the framework. Also, it really shouldn't happen because it
clearly is a driver problem that needs to be fixed.

> > > /*
> > > * pwm_enable - start a PWM output toggling
> > > */
> > > @@ -37,6 +47,7 @@ struct pwm_chip;
> > > enum {
> > > PWMF_REQUESTED = 1 << 0,
> > > PWMF_ENABLED = 1 << 1,
> > > + PWMF_POLARITY_INVERSE = 1 << 2,
> >
> > This should be named PWMF_POLARITY_INVERSED for consistency.
>
> Ok I will correct it.
>
> > I'm not sure that we really need this flag, though. It isn't used anywhere. But
> > maybe you have a use-case in mind?
>
> It can be used to find the polarity of the PWM at runtime.

Yes, but is there any use-case where this information would be required?

Thierry

Attachment: pgp00000.pgp
Description: PGP signature