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
signature.asc
Description: PGP signature

