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