On Fri, Sep 14, 2012 at 1:53 AM, Bryan Wu <[email protected]> wrote:
> The API function led_set_brightness() and __led_set_brightness will
> call .brightness_set() function provided by led class drivers. So
> .brightness_set() function will run in atomic context, which requires
> led class drivers use workqueue in .brightness_set().
>
> Finally, all the led class driver implemented their own workqueue in
> .brightness_set(). For those missing this, we will face runtime warning
> or error when running it in atomic context.
>
> This patch adds a workqueue in led_set_brightness() internally. LED
> class driver doesn't need to care about duplicated workqueue stuff in
> their own driver.
>
> Also this patch unified the led_set_brightness() and __led_set_brightness()
>
> Signed-off-by: Bryan Wu <[email protected]>
> ---
>  drivers/leds/led-class.c          | 23 ++++++++++++-----------
>  drivers/leds/led-core.c           | 15 +++++++--------
>  drivers/leds/leds.h               | 11 ++---------
>  drivers/leds/ledtrig-backlight.c  |  8 ++++----
>  drivers/leds/ledtrig-default-on.c |  2 +-
>  drivers/leds/ledtrig-gpio.c       |  6 +++---
>  drivers/leds/ledtrig-heartbeat.c  |  2 +-
>  drivers/leds/ledtrig-oneshot.c    |  4 ++--
>  drivers/leds/ledtrig-transient.c  |  8 ++++----

Bryan,

ledtrig-transient.c change looks good. Thanks for updating it.

-- Shuah
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to