Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1186573
| From | Jacek Anaszewski <j.anaszewski@samsung.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH/RFC v4 00/51] Remove work queues from LED class drivers |
| Date | 2015-07-17 10:50 +0200 |
| Message-ID | <pN9vb-kw-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
This is a fourth version of the RFC aiming at removing work queues
from LED class drivers, as well as getting rid of complimentary
functionalities introduced along with addition of LED flash class
extension.
======================
Changes from version 3
======================
- fixed return value in one of intermediary patches
- changed the comment over the brightness_set op member
of struct led_classdev
- added patches adjusting LED subsystem drivers to the introduced
modifications - they have been only compile-tested
======================
Changes from version 2
======================
- split changes to several incremental patches
- removed SET_BRIGHTNESS_SYNC and SET_BRIGHTNESS_ASYNC flags
- fixed led_set_brightness_async function instead of renaming it
======================
Changes from version 1
======================
V2 includes also patches for one LED class driver
and two LED flash class drivers, that show how the
drivers will benefit from the optimization being
introduced in the first patch of this patch set.
I was able to test only the LED Flash class drivers.
Original message from the patch 483a3122 ("leds: Use set_brightness_work for
brightness_set ops that can sleep") that was sent previously as a single one:
Hi All,
Since this patch will affect all the LED subsystem drivers
I'd like it was tested by as many developers as possible
to make sure that I haven't missed something.
For the drivers which can sleep in their brightness_set ops
(e.g. use mutex or gpio "cansleep" API) you only need to
remove the work queues and move the code executed currently
in the work queue task to the brightness_set op, as now
LED core does the job.
For drivers that are capable of setting brightness with use
of MMIO you need to set the LED_BRIGHTNESS_FAST flag, so
that LED core would know that it doesn't have to employ
work queue.
After the patch is positively verified I will create relevant
patches for every LED class driver.
This patch is based on linux-next_20150622.
I am looking forward to your cooperation.
Best Regards,
Jacek Anaszewski
Andrew Lunn (21):
leds: tlc591xx: Remove work queue
leds: 88pm860x: Remove work queue
leds: adp5520: Remove work queue
leds: bd2802: Remove work queue
leds: blinkm: Remove work queue
leds: lm3533: Remove work queue
leds: lm3642: Remove work queue
leds: pca9532: Remove work queue for LEDs.
leds: lp3944: Remove work queue
leds: lp55xx: Remove work queue
leds: lp8788: Remove work queue
leds: lp8860: Remove work queue
leds: pca955x: Remove work queue
leds: pca963x: Remove work queue
leds: wm831x: Remove work queue
leds: da903x: Remove work queue
leds: da9052: Remove work queue
leds: dac124d085: Remove work queue
leds: lt3593: Remove work queue
leds: max8997: Remove unneeded workqueue include
leds: mc13783: Remove work queue
Jacek Anaszewski (30):
leds: Add led_set_brightness_sync to the public LED subsystem API
leds: Improve asynchronous path of setting brightness
leds: Add an internal led_set_brightness_nosleep function
leds: Improve setting brightness in a non sleeping way
leds: Drivers shouldn't enforce SYNC/ASYNC brightness setting
media: flash: use led_set_brightness_sync for torch brightness
leds: regulator: Remove work queue
leds: wm8350: Remove work queue
leds: pwm: remove work queue
leds: lm355x: Remove work queue
leds: gpio: Remove work queue
leds: cobalt-raq: Mark the LED fast
leds: bcm6328: Mark the LED fast
leds: bcm6358: Mark the LED fast
leds: syscon: Mark the LED fast
leds: ot200: Mark the LED fast
leds: s3c24xx: Mark the LED fast
leds: ss4200: Mark the LED fast
leds: versatile: Mark the LED fast
leds: wrap: Mark the LED fast
leds: net48xx: Mark the LED fast
leds: asic3: Mark the LED fast
leds: cobalt-qube: Mark the LED fast
leds: fsg: Mark the LED fast
leds: hp6xx: Mark the LED fast
leds: locomo: Mark the LED fast
leds: dell: Mark the LED fast
leds: rb532: Mark the LED fast
leds: sunfire: Mark the LED fast
leds: ipaq-micro: Mark the LED fast
drivers/leds/dell-led.c | 2 +-
drivers/leds/led-class-flash.c | 7 ---
drivers/leds/led-class.c | 20 +++----
drivers/leds/led-core.c | 42 +++++++--------
drivers/leds/leds-88pm860x.c | 21 ++------
drivers/leds/leds-aat1290.c | 50 +++++-------------
drivers/leds/leds-adp5520.c | 22 ++------
drivers/leds/leds-asic3.c | 1 +
drivers/leds/leds-bcm6328.c | 1 +
drivers/leds/leds-bcm6358.c | 1 +
drivers/leds/leds-bd2802.c | 24 +++------
drivers/leds/leds-blinkm.c | 66 ++----------------------
drivers/leds/leds-cobalt-qube.c | 1 +
drivers/leds/leds-cobalt-raq.c | 2 +
drivers/leds/leds-da903x.c | 32 ++++--------
drivers/leds/leds-da9052.c | 35 ++++---------
drivers/leds/leds-dac124s085.c | 33 +++---------
drivers/leds/leds-fsg.c | 12 ++---
drivers/leds/leds-gpio.c | 50 +++++-------------
drivers/leds/leds-hp6xx.c | 4 +-
drivers/leds/leds-ipaq-micro.c | 2 +-
drivers/leds/leds-ktd2692.c | 41 ++-------------
drivers/leds/leds-lm3533.c | 30 +++--------
drivers/leds/leds-lm355x.c | 58 ++++-----------------
drivers/leds/leds-lm3642.c | 54 ++++---------------
drivers/leds/leds-locomo.c | 2 +
drivers/leds/leds-lp3944.c | 15 +-----
drivers/leds/leds-lp5521.c | 6 +--
drivers/leds/leds-lp5523.c | 6 +--
drivers/leds/leds-lp5562.c | 6 +--
drivers/leds/leds-lp55xx-common.c | 8 ++-
drivers/leds/leds-lp55xx-common.h | 6 +--
drivers/leds/leds-lp8501.c | 6 +--
drivers/leds/leds-lp8788.c | 22 ++------
drivers/leds/leds-lp8860.c | 24 ++-------
drivers/leds/leds-lt3593.c | 27 +++-------
drivers/leds/leds-max77693.c | 55 +++-----------------
drivers/leds/leds-max8997.c | 1 -
drivers/leds/leds-mc13783.c | 31 +++--------
drivers/leds/leds-net48xx.c | 2 +-
drivers/leds/leds-ot200.c | 1 +
drivers/leds/leds-pca9532.c | 20 +++----
drivers/leds/leds-pca955x.c | 37 +++----------
drivers/leds/leds-pca963x.c | 56 +++-----------------
drivers/leds/leds-pwm.c | 24 ++-------
drivers/leds/leds-rb532.c | 1 +
drivers/leds/leds-regulator.c | 34 ++++--------
drivers/leds/leds-s3c24xx.c | 2 +-
drivers/leds/leds-ss4200.c | 1 +
drivers/leds/leds-sunfire.c | 1 +
drivers/leds/leds-syscon.c | 1 +
drivers/leds/leds-tlc591xx.c | 24 ++-------
drivers/leds/leds-versatile.c | 1 +
drivers/leds/leds-wm831x-status.c | 23 +++------
drivers/leds/leds-wm8350.c | 31 +++--------
drivers/leds/leds-wrap.c | 6 +--
drivers/leds/leds.h | 34 ++++++------
drivers/leds/trigger/ledtrig-backlight.c | 8 +--
drivers/leds/trigger/ledtrig-default-on.c | 2 +-
drivers/leds/trigger/ledtrig-gpio.c | 6 +--
drivers/leds/trigger/ledtrig-heartbeat.c | 4 +-
drivers/leds/trigger/ledtrig-oneshot.c | 4 +-
drivers/leds/trigger/ledtrig-transient.c | 8 +--
drivers/media/v4l2-core/v4l2-flash-led-class.c | 8 +--
include/linux/leds.h | 38 ++++++++++----
include/linux/mfd/wm8350/pmic.h | 1 -
66 files changed, 319 insertions(+), 885 deletions(-)
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH/RFC v4 00/51] Remove work queues from LED class drivers Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 32/51] leds: gpio: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 10/51] leds: bd2802: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 27/51] leds: mc13783: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 39/51] leds: ss4200: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 04/51] leds: Improve setting brightness in a non sleeping way Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 10:50 +0200
[PATCH/RFC 44/51] leds: cobalt-qube: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 47/51] leds: locomo: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 42/51] leds: net48xx: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 45/51] leds: fsg: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 48/51] leds: dell: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 37/51] leds: ot200: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 33/51] leds: cobalt-raq: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 49/51] leds: rb532: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 50/51] leds: sunfire: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 38/51] leds: s3c24xx: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 35/51] leds: bcm6358: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 46/51] leds: hp6xx: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 34/51] leds: bcm6328: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 41/51] leds: wrap: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 43/51] leds: asic3: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
[PATCH/RFC 40/51] leds: versatile: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
Re: [PATCH/RFC 40/51] leds: versatile: Mark the LED fast Linus Walleij <linus.walleij@linaro.org> - 2015-07-17 15:50 +0200
[PATCH/RFC 51/51] leds: ipaq-micro: Mark the LED fast Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:00 +0200
Re: [PATCH/RFC 51/51] leds: ipaq-micro: Mark the LED fast Linus Walleij <linus.walleij@linaro.org> - 2015-07-17 15:50 +0200
[PATCH/RFC 23/51] leds: da9052: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 20/51] leds: pca963x: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 25/51] leds: lt3593: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 26/51] leds: max8997: Remove unneeded workqueue include Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 18/51] leds: lp8860: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
Re: [PATCH/RFC 18/51] leds: lp8860: Remove work queue Dan Murphy <dmurphy@ti.com> - 2015-07-17 16:00 +0200
[PATCH/RFC 19/51] leds: pca955x: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 28/51] leds: regulator: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 15/51] leds: lp3944: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 21/51] leds: wm831x: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
Re: [PATCH/RFC 21/51] leds: wm831x: Remove work queue Mark Brown <broonie@kernel.org> - 2015-07-17 12:10 +0200
[PATCH/RFC 16/51] leds: lp55xx: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 13/51] leds: lm3642: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 17/51] leds: lp8788: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 31/51] leds: lm355x: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
[PATCH/RFC 29/51] leds: wm8350: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:10 +0200
Re: [PATCH/RFC 29/51] leds: wm8350: Remove work queue Mark Brown <broonie@kernel.org> - 2015-07-17 12:10 +0200
[PATCH/RFC 06/51] media: flash: use led_set_brightness_sync for torch brightness Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
[PATCH/RFC 03/51] leds: Add an internal led_set_brightness_nosleep function Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
[PATCH/RFC 07/51] leds: tlc591xx: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
[PATCH/RFC 12/51] leds: lm3533: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
Re: [PATCH/RFC 12/51] leds: lm3533: Remove work queue Johan Hovold <johan@kernel.org> - 2015-07-17 11:30 +0200
[PATCH/RFC 01/51] leds: Add led_set_brightness_sync to the public LED subsystem API Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
Re: [PATCH/RFC 01/51] leds: Add led_set_brightness_sync to the public LED subsystem API Pavel Machek <pavel@ucw.cz> - 2015-07-22 09:30 +0200
[PATCH/RFC 11/51] leds: blinkm: Remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
[PATCH/RFC 05/51] leds: Drivers shouldn't enforce SYNC/ASYNC brightness setting Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-17 11:20 +0200
csiph-web