From: Simon Guinot <simon.guinot@sequanux.org>
To: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org,
cooloney@gmail.com, rpurdie@rpsys.net,
stsp@users.sourceforge.net, pavel@ucw.cz,
sakari.ailus@linux.intel.com, andreas.werner@men.de,
andrew@lunn.ch, ospite@studenti.unina.it, anemo@mba.ocn.ne.jp,
ben@simtec.co.uk, bootc@bootc.net, dmurphy@ti.com,
daniel.jeong@ti.com, daniel@zonque.org, davem@davemloft.net,
fabio.baltieri@gmail.com, balbi@ti.com, florian@openwrt.org,
gshark.jeong@gmail.com, g.liakhovetski@gmx.de,
ingi2.kim@samsung.com, dl9pf@gmx.de, johan@kernel.org,
lenz@cs.wisc.edu, jogo@openwrt.org, q1.kim@samsung.com,
kris@krisk.org, kristoffer.ericson@gmail.com,
linus.walleij@linaro.org, broonie@kernel.org,
michael.hennerich@analog.com, milo.kim@ti.com, nm127@freemail.hu,
ncase@xes-inc.com, neilb@suse.de, nick.forbes@incepta.com,
lost.distance@yahoo.com, p.meerwald@bct-electronic.com,
n0-1@freewrt.org, philippe.retornaz@epfl.ch, raph@8d.com,
rpurdie@openedhand.com, rod@whitby.id.au, dave@sr71.net,
giometti@linux.it, bigeasy@linutronix.de, shuahkhan@gmail.com,
sguinot@lacie.com, kyungmin.park@samsung.com
Subject: Re: [PATCH/RFC v3 0/7] Remove work queues from LED class drivers
Date: Tue, 14 Jul 2015 16:10:24 +0200 [thread overview]
Message-ID: <20150714141024.GC10671@kw.sim.vm.gnt> (raw)
In-Reply-To: <1435929052-8736-1-git-send-email-j.anaszewski@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 4000 bytes --]
On Fri, Jul 03, 2015 at 03:10:45PM +0200, Jacek Anaszewski wrote:
> This is a third 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 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
>
> Jacek Anaszewski (7):
> 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: pwm: remove work queue
>
> drivers/leds/led-class-flash.c | 7 ---
> drivers/leds/led-class.c | 20 +++++----
> drivers/leds/led-core.c | 42 +++++++++---------
> drivers/leds/leds-aat1290.c | 50 ++++++---------------
> drivers/leds/leds-ktd2692.c | 41 +++---------------
> drivers/leds/leds-max77693.c | 55 +++---------------------
> drivers/leds/leds-pwm.c | 24 ++---------
> 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 | 36 +++++++++++-----
> 16 files changed, 124 insertions(+), 225 deletions(-)
Hi Jacek,
I have successfully tested this patch set with both the leds-ns2 and
leds-netxbig drivers and with either sleeping and non-sleeping GPIOs
LEDs.
Tested-by: Simon Guinot <simon.guinot@sequanux.org>
Note that you may want to get rid of the comment
"Must not sleep, use a workqueue if needed" above the member
brightness_set in struct led_classdev.
Regards,
Simon
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2015-07-14 14:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-03 13:10 [PATCH/RFC v3 0/7] Remove work queues from LED class drivers Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 1/7] leds: Add led_set_brightness_sync to the public LED subsystem API Jacek Anaszewski
2015-07-05 12:34 ` Pavel Machek
2015-07-06 6:31 ` Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 2/7] leds: Improve asynchronous path of setting brightness Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 3/7] leds: Add an internal led_set_brightness_nosleep function Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 4/7] leds: Improve setting brightness in a non sleeping way Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 5/7] leds: Drivers shouldn't enforce SYNC/ASYNC brightness setting Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 6/7] media: flash: use led_set_brightness_sync for torch brightness Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 7/7] leds: pwm: remove work queue Jacek Anaszewski
2015-07-05 12:33 ` Pavel Machek
2015-07-14 14:10 ` Simon Guinot [this message]
2015-07-14 14:23 ` [PATCH/RFC v3 0/7] Remove work queues from LED class drivers Jacek Anaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150714141024.GC10671@kw.sim.vm.gnt \
--to=simon.guinot@sequanux.org \
--cc=andreas.werner@men.de \
--cc=andrew@lunn.ch \
--cc=anemo@mba.ocn.ne.jp \
--cc=balbi@ti.com \
--cc=ben@simtec.co.uk \
--cc=bigeasy@linutronix.de \
--cc=bootc@bootc.net \
--cc=broonie@kernel.org \
--cc=cooloney@gmail.com \
--cc=daniel.jeong@ti.com \
--cc=daniel@zonque.org \
--cc=dave@sr71.net \
--cc=davem@davemloft.net \
--cc=dl9pf@gmx.de \
--cc=dmurphy@ti.com \
--cc=fabio.baltieri@gmail.com \
--cc=florian@openwrt.org \
--cc=g.liakhovetski@gmx.de \
--cc=giometti@linux.it \
--cc=gshark.jeong@gmail.com \
--cc=ingi2.kim@samsung.com \
--cc=j.anaszewski@samsung.com \
--cc=jogo@openwrt.org \
--cc=johan@kernel.org \
--cc=kris@krisk.org \
--cc=kristoffer.ericson@gmail.com \
--cc=kyungmin.park@samsung.com \
--cc=lenz@cs.wisc.edu \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=lost.distance@yahoo.com \
--cc=michael.hennerich@analog.com \
--cc=milo.kim@ti.com \
--cc=n0-1@freewrt.org \
--cc=ncase@xes-inc.com \
--cc=neilb@suse.de \
--cc=nick.forbes@incepta.com \
--cc=nm127@freemail.hu \
--cc=ospite@studenti.unina.it \
--cc=p.meerwald@bct-electronic.com \
--cc=pavel@ucw.cz \
--cc=philippe.retornaz@epfl.ch \
--cc=q1.kim@samsung.com \
--cc=raph@8d.com \
--cc=rod@whitby.id.au \
--cc=rpurdie@openedhand.com \
--cc=rpurdie@rpsys.net \
--cc=sakari.ailus@linux.intel.com \
--cc=sguinot@lacie.com \
--cc=shuahkhan@gmail.com \
--cc=stsp@users.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox