public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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 --]

  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