Re: [PATCH 1/4] gpio: mvebu: Add limited PWM support

From: Thierry Reding
Date: Mon Mar 20 2017 - 09:50:12 EST


On Sat, Mar 18, 2017 at 04:37:53PM +0100, Andrew Lunn wrote:
> > > +static void mvebu_pwm_free(struct pwm_chip *chip, struct pwm_device *pwmd)
> > > +{
> > > + struct mvebu_pwm *pwm = to_mvebu_pwm(chip);
> > > + struct gpio_desc *desc = gpio_to_desc(pwmd->pwm);
> > > + unsigned long flags;
> > > +
> > > + spin_lock_irqsave(&pwm->lock, flags);
> > > + gpiod_free(desc);
> > > + pwm->used = false;
> > > + spin_unlock_irqrestore(&pwm->lock, flags);
> > > +}
> >
> > No need to set the output value to zero or something here?
> > And turn off blinking? Or is that done some other way?
>
> Hi Linus
>
> The disable op will turn of blinking. I've not checked, but i assume
> the PWM core will not allow you to free an enabled PWM?

Actually it will. It's probably a good idea to add a WARN_ON() to the
PWM core if that situation arises. I don't think going as far as
prohibiting it will do any good, though. It's not like drivers will
have much of a choice if pwm_put() fails. Typically they'd do that in
their ->remove() call, at which point failure is difficult to deal with.

> > I think both of these need to be tagged __maybe_unused to not give
> > noise in randconfig builds.
>
> I've not seen any 0-day patch emails giving warnings. So i suspect it
> is O.K.

Linus was probably referring to !PM configurations. I'm not sure how
often they'll get run, but as long as it doesn't make it into linux-next
the chances aren't very high (I don't think the 0-day builder executes
randconfig builds).

Thierry

Attachment: signature.asc
Description: PGP signature