[RFC] [PATCH 0/2] leds: use workqueue in led_set_brightness() API internally

From: Bryan Wu
Date: Fri Sep 14 2012 - 03:53:05 EST


LED class drivers use duplicated workqueue method to implement
.brightness_set() and some of them forget to use workqueue, since
workqueue is required by .brightness_set() in atomic context.

This patchset add workqueue into API function led_set_brightness().
So class drivers don't need to worry about it.

With the first patch, we can remove all the workqueue handling code in
class drivers. For example, workqueue was removed from leds-gpio.c

Bryan Wu (2):
leds: use workqueue in led_set_brightness() API internally
leds-gpio: remove workqueue in .brightness_set()

drivers/leds/led-class.c | 23 +++++++++++----------
drivers/leds/led-core.c | 15 +++++++-------
drivers/leds/leds-gpio.c | 43 ++++++---------------------------------
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 ++++----
include/linux/leds.h | 12 ++++++-----
11 files changed, 49 insertions(+), 85 deletions(-)

--
1.7.11.4

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