All of lore.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, phil
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 --]

WARNING: multiple messages have this Message-ID (diff)
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: 26+ 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 ` 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-03 13:10   ` Jacek Anaszewski
2015-07-05 12:34   ` Pavel Machek
2015-07-05 12:34     ` Pavel Machek
2015-07-06  6:31     ` Jacek Anaszewski
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   ` 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   ` 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   ` 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   ` 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   ` Jacek Anaszewski
2015-07-03 13:10 ` [PATCH/RFC v3 7/7] leds: pwm: remove work queue Jacek Anaszewski
2015-07-03 13:10   ` Jacek Anaszewski
2015-07-05 12:33   ` Pavel Machek
2015-07-05 12:33     ` Pavel Machek
2015-07-14 14:10 ` Simon Guinot [this message]
2015-07-14 14:10   ` [PATCH/RFC v3 0/7] Remove work queues from LED class drivers Simon Guinot
2015-07-14 14:23   ` Jacek Anaszewski
2015-07-14 14:23     ` 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=bootc@bootc.net \
    --cc=broonie@kernel.org \
    --cc=cooloney@gmail.com \
    --cc=daniel.jeong@ti.com \
    --cc=daniel@zonque.org \
    --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=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=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=q1.kim@samsung.com \
    --cc=rpurdie@rpsys.net \
    --cc=sakari.ailus@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.