Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1176563

[PATCH/RFC v3 0/7] Remove work queues from LED class drivers

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Jacek Anaszewski <j.anaszewski@samsung.com>
Newsgroups linux.kernel
Subject [PATCH/RFC v3 0/7] Remove work queues from LED class drivers
Date Fri, 03 Jul 2015 15:20:02 +0200
Message-ID <pI92O-xt-1@gated-at.bofh.it> (permalink)
X-Original-To linux-leds@vger.kernel.org
X-Auditid cbfee61b-f79416d0000014c0-4d-559689f3d044
X-Mailer git-send-email 1.7.9.5
X-Brightmail-Tracker H4sIAAAAAAAAAzXSa0hTcRjH8f7n/M/Z2XRyWGYnpYhlUVJa4YvnRYSB0gmCivJNRbXyZJJO 2dKygmwlOW+ZlxGyzERdW2GZZl5JZ6N0miuxvE4zL6GyylvOWzWjdx/4fXlePQwpS6K8mQjl JUGlVETKaQm2Ln9ld0xrdaE7jT98IKUuA0Nbn5mEoqxj0NB/AwzWKQy6D5kkPLWEQM6XIRos VfcIqK0YJkGzNIbhpvE1Afq22xiyF/QUpFjLKbg1dx5mv7dg+F6aR8Cr7mUSsmqSKajsmqYh rWMUQU9JMw2azlQKnGVJIshr4qBVMyECS2M1BdmLBgLaq/U0vJwoQTCXXkFDRmOZCAzzJRgc jgUMw3cbRFD3MAHDr9bfJExUWilYSKnBkG5eB33NFhraWy0YSgdzCRhu6Ubw9l0TAc66ARJq qocpmCyfJeDZkARmnEGgTdfhoED+d1kB4sc69vGP7X0EP2UsxnzHvInky41dBF+c+ITkC5Pm RPzM5JiIr8rtE/E/fp7i84rqSf6FSUvzWZ9SKd7YPkDwvZ9q6cNbjkv2hAmREXGCKmDvGckF e9cCFWPxvmIu+UgkoGzPZCRmODaQs410i/7Zi7PZn9Euy9gCxOXaZMlI8tdOxJV2PiZcA83u 4pzfxv+aYTzZDVxVS7yrIVkHw+UbG5GrWc2GcF8rplcOYXYzt1Q2SLl6Kbuf0yRedpFjN3L6 zD0ZyC0frTKhNULMuRj12fCo3f5qRZQ6Vhnufy466gVa+Y8Rn0pkSgAzYhkkd5farDmhMkoR p46PMiOOIeWe0tGjulCZNEwRf1VQRZ9WxUYKajPyYbB8rbQp+mCojA1XXBIuCkKMoPq/EozY OwEZxjeV5nopr20fPTHl9HiVryFvHbq78+RnlQnTfs+P9LDFyp7nRb7XDywHxzrEUiyuZ1MD AmZ7pW50befxfsdkc7IsJy38WoNb5tr177Xbtl4d2TL05s5io5g8yTz6Yh+3aU+9nIoOTnLX 26cHl3VLvR5evouFDzondCP316fGyrH6gmKXH6lSK/4AhicmzxsDAAA=
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 90
Organization linux.* mail to news gateway
X-Original-Cc 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, Jacek Anaszewski <j.anaszewski@samsung.com>
X-Original-Date Fri, 03 Jul 2015 15:10:45 +0200
X-Original-Message-ID <1435929052-8736-1-git-send-email-j.anaszewski@samsung.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1176563

Show key headers only | View raw


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(-)

-- 
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


Thread

[PATCH/RFC v3 0/7] Remove work queues from LED class drivers Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 3/7] leds: Add an internal led_set_brightness_nosleep  function Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 7/7] leds: pwm: remove work queue Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 6/7] media: flash: use led_set_brightness_sync for torch  brightness Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 5/7] leds: Drivers shouldn't enforce SYNC/ASYNC  brightness setting Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 4/7] leds: Improve setting brightness in a non sleeping  way Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 2/7] leds: Improve asynchronous path of setting  brightness Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200
  [PATCH/RFC v3 1/7] leds: Add led_set_brightness_sync to the public LED  subsystem API Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-07-03 15:20 +0200

csiph-web