Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753553AbbF3N4M (ORCPT ); Tue, 30 Jun 2015 09:56:12 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:34630 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751311AbbF3N4D (ORCPT ); Tue, 30 Jun 2015 09:56:03 -0400 X-AuditID: cbfee61a-f79516d000006302-82-55929fefee47 From: Jacek Anaszewski To: linux-leds@vger.kernel.org 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, Jacek Anaszewski Subject: [PATCH/RFC v2 0/5] Remove work queues from LED class drivers Date: Tue, 30 Jun 2015 15:55:34 +0200 Message-id: <1435672534-4004-1-git-send-email-j.anaszewski@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAAzWSa1BMcRjG/c//f86eluUolyMzmM1lNEMaZrxjGhMjzgcfGMJgsOqoRttm N00Zl1UYbcmqhCYbRmXT1HSRLhat2aG2VNOEjU3RspPIpdLaLhS+Pe/z/J55vzws9jxDe7MR UTGiOkoRKWekxDr6fvqyvpy04BVugy8km/QEmuxmDLnp26H27SnIt/4gkNmShqHQEgSXu7oZ sFRdouBBhQNDwkgPgdPGRxRkN50hkOHOpiHZWk5D4tAhGOxrINBXYqDgfvsohvQaHQ2Vtn4G LrR9RPC6qJ6BhFcpNLjKzkvAUMeD5Uk1DRnD+RS0VmczcK+3CMFQagUD+idlEsj/VUTgyxc3 AcfFWgmYcrQEfjaOYeittNLgTq4hkGqeA/Z6CwOtjRYCJe+yKHA0tCN4+qyOApepE0NNtYOG 7+WDFBR3S2HAFQhJqZkkcKUwVnYLCT1t64Q7HXZK+GHMI0LbrwIslBttlJB39i4Wbp8fkggD 33skQlWWXSJ8/bZPMOQ+xkJpQRIjpL9IoQVjayclvHnxgNmyeLc0IFSMjIgV1X5rD0jD9S/v kGiTV1z3sI3RIudUHWJZnlvFv/y4QIc8/shZfHNHMaNDUtaTu4L4q809/w4X4ocHbzLjFMP5 8y7nJ2q8PIObx1c1xI8zmGth+WbdMB5nvLgg/nGFcUITbhF/vf3bRFfGbeJLkl7hv48X8Nlp AXo0+QaaVIBmitEh0ZqDYUr/5RqFUnM0Kmx5iEpZiia28cG7Ehm1YEYci+RTZHxAWrAnrYjV xCvNiGexfIYsJeGPJQtVxB8T1ar96qORosaM5rJEPltWp9oc7MmFKWLEw6IYLar/pxTr4a1F iQMbQjPrA58r9cd9T1I7dnn0T1udse/cjjXhY9fW4hPd71SfutavW6hyWq+tiH090t6XVJgY 1F+Ysy3GtPfEpnS7U3vZ53OBbUvJ2YW82h1SvvEU2lo7PWPOkRS0c/RGR9zSJY2BhoiZD7GX s/6pz3ybz/q4kQHvbTm5jpN+vntapHKiCVf4+2K1RvEbij9i0xcDAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2675 Lines: 68 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 (5): leds: Use set_brightness_work for brightness_set ops that can sleep leds: pwm: remove work queue led: flash: remove check for brightness_set_sync op leds: max77693: remove work queue leds: aat1290: remove work queue drivers/leds/led-class-flash.c | 3 -- drivers/leds/led-class.c | 18 ++++++---- drivers/leds/led-core.c | 50 +++++++++++++++----------- drivers/leds/leds-aat1290.c | 50 +++++++------------------- drivers/leds/leds-max77693.c | 55 ++++------------------------- drivers/leds/leds-pwm.c | 24 +++---------- drivers/leds/leds.h | 41 ++++++++++++--------- 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 ++--- include/linux/leds.h | 9 ++--- 14 files changed, 107 insertions(+), 175 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/