On Sat, Mar 18, 2017 at 04:37:53PM +0100, Andrew Lunn wrote:
quoted
quoted
+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.
quoted
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