misc: atmel_pwm: add deferred-probing support

Two drivers (atmel-pwm-bl and leds-atmel-pwm) currently depend on the
atmel_pwm driver to have bound to any pwm-device before their devices
are probed.

Support deferred probing of such devices by making sure to return
-EPROBE_DEFER from pwm_channel_alloc when no pwm-device has yet been
bound.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Johan Hovold 2013-10-22 18:32:39 +02:00 committed by Greg Kroah-Hartman
parent 50f67a0671
commit 5c6d6fd156
1 changed files with 4 additions and 2 deletions

View File

@ -90,8 +90,10 @@ int pwm_channel_alloc(int index, struct pwm_channel *ch)
unsigned long flags; unsigned long flags;
int status = 0; int status = 0;
/* insist on PWM init, with this signal pinned out */ if (!pwm)
if (!pwm || !(pwm->mask & 1 << index)) return -EPROBE_DEFER;
if (!(pwm->mask & 1 << index))
return -ENODEV; return -ENODEV;
if (index < 0 || index >= PWM_NCHAN || !ch) if (index < 0 || index >= PWM_NCHAN || !ch)