* [PATCH v8 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM
@ 2012-04-30 7:42 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:42 UTC (permalink / raw)
To: linux, rpurdie, linux-arm-kernel, linux-kernel, linus.walleij,
akpm, arnd.bergmann, nicolas.pitre, tim.gardner
Based on Linus Walleij's ARM LED consolidation work, this patchset introduce a
new generic led trigger for CPU not only for ARM but also for others.
For enabling CPU idle event, CPU arch code should call ledtrig_cpu() stub to
trigger idle start or idle end event.
These patches convert old style LED driver in arch/arm to gpio_led or new led
driver interface. Against linux-next 20120427 and build successfully for all the machines.
Test ledtrig-cpu driver on OMAP4 Panda board.
--
root@PandaBoard:~# uname -a
Linux PandaBoard 3.4.0-rc4-next-20120427-00019-g5186e01 #2 SMP Mon Apr 30 13:36:29 CST 2012 armv7l armv7l armv7l GNU/Linux
root@PandaBoard:~# dmesg | grep ledtrig-cpu
[ 2.034179] ledtrig-cpu: registered to indicate activity on CPUs
root@PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status1/trigger
none nand-disk mmc0 mmc1 [heartbeat] cpu0 cpu1
root@PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status2/trigger
none nand-disk [mmc0] mmc1 heartbeat cpu0 cpu1
root@PandaBoard:~# echo cpu0 > /sys/class/leds/pandaboard\:\:status1/trigger
root@PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status1/trigger
none nand-disk mmc0 mmc1 heartbeat [cpu0] cpu1
root@PandaBoard:~# echo cpu1 > /sys/class/leds/pandaboard\:\:status2/trigger
root@PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status2/trigger
none nand-disk mmc0 mmc1 heartbeat cpu0 [cpu1]
Then try some heavy task like dd and use taskset to assign the task to a specific CPU,
LED will turn on or off as expect
root@PandaBoard:~# dd if=/dev/zero of=/dev/null &
[1] 1213
root@PandaBoard:~# taskset -pc 0 1213
pid 1213's current affinity list: 0,1
pid 1213's new affinity list: 0
root@PandaBoard:~# taskset -pc 1 1213
pid 1213's current affinity list: 0
pid 1213's new affinity list: 1
Try to hotplug on CPU 1
root@PandaBoard:~# echo 0 > /sys/devices/system/cpu/cpu1/online
root@PandaBoard:~# dmesg | tail
[ 4.802429] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[ 4.831939] EXT4-fs (mmcblk0p2): recovery complete
[ 5.371734] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 6.151245] init: ureadahead main process (765) terminated with status 5
[ 6.825439] udevd[819]: starting version 175
[ 7.310607] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ 8.723876] init: udev-fallback-graphics main process (983) terminated with status 1
[ 11.184661] Adding 524232k swap on /SWAP.swap. Priority:-1 extents:13 across:593912k SS
[ 5377.554534] [sched_delayed] process 1213 (dd) no longer affine to cpu1
[ 5377.554809] CPU1: shutdown
root@PandaBoard:~# echo 1 > /sys/devices/system/cpu/cpu1/online
[ 5401.427551] CPU1: Unknown IPI message 0x1
root@PandaBoard:~# taskset -pc 1 1213
pid 1213's current affinity list: 0,1
pid 1213's new affinity list: 1
root@PandaBoard:~#
--
Please find these patches here:
git://kernel.ubuntu.com/roc/linux-2.6/.git leds
v7 --> v8:
* add a patch to unify the led-trigger name
* fix some typo pointed
v6 --> v7:
* add BUILD_BUG_ON() to detect NR_CPUS > 9999
* move out pr_info from the loop as one line message
* add percpu rw_semaphore to protect critical region in ledtrig_cpu_init()
* fix error in English comments
v5 --> v6:
* replace __get_cpu_var() to per_cpu()
* remove smp_processor_id() which is wrong with for_each_possible_cpu()
* test on real OMAP4 Panda board
* add comments about CPU hotplug in the CPU LED trigger driver
v4 --> v5:
* rebase all the patches on top of latest linux-next
* replace on_each_cpu() with for_each_possible_cpu()
* add some description of ledtrig_cpu() API
* remove old leds code from driver nwflash.c, which should use a new led trigger then
* this trigger driver can be built as module now
v3 --> v4:
* fix a typo pointed by Jochen Friedrich
* fix some building errors
* add Reviewed-by and Tested-by into patch log
v2 --> v3:
* almost rewrote the whole ledtrig-cpu driver, which is more simple
* every CPU will have a per-CPU trigger
* cpu trigger can be assigned to any leds
* fix a lockdep issue in led-trigger common code
* other fix according to review
v1 --> v2:
* remove select operations in Kconfig of every machines
* add back supporting of led in core module of mach-integrator
* solidate name scheme in ledtrig-cpu.c
* add comments of CPU_LED_* cpu led events
* fold patches of RealView and Versatile together
* add machine_is_ check during assabet led driver init
* add some Acked-by in patch logs
* remove code for simpad machine in machine-sa11000, since Jochen Friedrich
introduced gpiolib and gpio-led driver for simpad
* on Assabet and Netwinder machine, LED operations is reversed like:
setting bit means turn off leds
clearing bit means turn on leds
* add a new function to read CM_CTRL register for led driver
Bryan Wu (19):
led-triggers: rename *trigger to *trig for unified naming scheme
led-triggers: create a trigger for CPU activity
ARM: at91: convert old leds drivers to gpio_led and led_trigger
drivers
ARM: mach-realview and mach-versatile: retire custom LED code
ARM: mach-ks8695: remove leds driver, since nobody use it
ARM: mach-shark: retire custom LED code
ARM: mach-orion5x: convert custom LED code to gpio_led and LED CPU
trigger
ARM: mach-integrator: move CM_CTRL to header file for accessing by
other functions
ARM: mach-integrator: retire custom LED code
ARM: mach-clps711x: retire custom LED code of P720T machine
ARM: mach-ebsa110: retire custom LED code
ARM: mach-footbridge: retire custom LED code
char: nwflash: remove old led event code
ARM: mach-pxa: retire custom LED code
ARM: plat-samsung: remove including old leds event API header file
ARM: mach-pnx4008: remove including old leds event API header file
ARM: mach-omap1: retire custom LED code
ARM: mach-sa1100: retire custom LED code
ARM: use new LEDS CPU trigger stub to replace old one
arch/arm/Kconfig | 53 -----
arch/arm/include/asm/leds.h | 50 -----
arch/arm/kernel/Makefile | 1 -
arch/arm/kernel/leds.c | 121 -----------
arch/arm/kernel/process.c | 6 +-
arch/arm/kernel/time.c | 17 --
arch/arm/mach-at91/board-csb337.c | 2 -
arch/arm/mach-at91/board-ecbat91.c | 18 +-
arch/arm/mach-at91/board-eco920.c | 22 +-
arch/arm/mach-at91/board-kafa.c | 17 +-
arch/arm/mach-at91/board-kb9202.c | 23 +-
arch/arm/mach-at91/board-rm9200dk.c | 3 -
arch/arm/mach-at91/board-rm9200ek.c | 3 -
arch/arm/mach-at91/board-rsi-ews.c | 3 -
arch/arm/mach-at91/board-sam9-l9260.c | 23 +-
arch/arm/mach-at91/board-sam9261ek.c | 3 -
arch/arm/mach-at91/board-yl-9200.c | 3 -
arch/arm/mach-at91/include/mach/board.h | 1 -
arch/arm/mach-at91/leds.c | 105 ---------
arch/arm/mach-clps711x/Makefile | 2 -
arch/arm/mach-clps711x/common.c | 1 -
arch/arm/mach-clps711x/include/mach/time.h | 2 -
arch/arm/mach-clps711x/p720t-leds.c | 66 ------
arch/arm/mach-clps711x/p720t.c | 59 ++++++
arch/arm/mach-ebsa110/Makefile | 4 +-
arch/arm/mach-ebsa110/leds.c | 79 ++++---
arch/arm/mach-footbridge/Makefile | 4 -
arch/arm/mach-footbridge/ebsa285-leds.c | 138 ------------
arch/arm/mach-footbridge/ebsa285.c | 79 +++++++
arch/arm/mach-footbridge/netwinder-hw.c | 110 ++++++++--
arch/arm/mach-footbridge/netwinder-leds.c | 138 ------------
arch/arm/mach-integrator/Makefile | 3 +-
arch/arm/mach-integrator/core.c | 3 -
arch/arm/mach-integrator/include/mach/cm.h | 2 +
arch/arm/mach-integrator/leds.c | 158 ++++++++------
arch/arm/mach-ks8695/Makefile | 3 -
arch/arm/mach-ks8695/devices.c | 21 --
arch/arm/mach-ks8695/include/mach/devices.h | 5 -
arch/arm/mach-ks8695/leds.c | 92 --------
arch/arm/mach-omap1/Makefile | 8 -
arch/arm/mach-omap1/board-h2.c | 32 +++
arch/arm/mach-omap1/board-h3.c | 32 +++
arch/arm/mach-omap1/board-osk.c | 33 +++
arch/arm/mach-omap1/leds-h2p2-debug.c | 166 ---------------
arch/arm/mach-omap1/leds-innovator.c | 98 ---------
arch/arm/mach-omap1/leds-osk.c | 113 ----------
arch/arm/mach-omap1/leds.c | 69 ------
arch/arm/mach-omap1/leds.h | 3 -
arch/arm/mach-omap1/time.c | 1 -
arch/arm/mach-omap1/timer32k.c | 1 -
arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 1 -
arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 1 -
arch/arm/mach-orion5x/rd88f5182-setup.c | 72 ++-----
arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 1 -
arch/arm/mach-pnx4008/time.c | 1 -
arch/arm/mach-pxa/Makefile | 8 -
arch/arm/mach-pxa/idp.c | 79 +++++++
arch/arm/mach-pxa/leds-idp.c | 115 ----------
arch/arm/mach-pxa/leds-lubbock.c | 124 -----------
arch/arm/mach-pxa/leds-mainstone.c | 119 -----------
arch/arm/mach-pxa/leds.c | 32 ---
arch/arm/mach-pxa/leds.h | 13 --
arch/arm/mach-pxa/lubbock.c | 93 ++++++++
arch/arm/mach-pxa/mainstone.c | 92 ++++++++
arch/arm/mach-realview/core.c | 39 ----
arch/arm/mach-realview/core.h | 2 -
arch/arm/mach-realview/realview_eb.c | 5 -
arch/arm/mach-realview/realview_pb1176.c | 5 -
arch/arm/mach-realview/realview_pb11mp.c | 5 -
arch/arm/mach-realview/realview_pba8.c | 5 -
arch/arm/mach-realview/realview_pbx.c | 5 -
arch/arm/mach-sa1100/Makefile | 9 -
arch/arm/mach-sa1100/assabet.c | 83 ++++++++
arch/arm/mach-sa1100/badge4.c | 30 +++
arch/arm/mach-sa1100/cerf.c | 42 ++++
arch/arm/mach-sa1100/hackkit.c | 32 +++
arch/arm/mach-sa1100/lart.c | 26 +++
arch/arm/mach-sa1100/leds-assabet.c | 113 ----------
arch/arm/mach-sa1100/leds-badge4.c | 110 ----------
arch/arm/mach-sa1100/leds-cerf.c | 109 ----------
arch/arm/mach-sa1100/leds-hackkit.c | 111 ----------
arch/arm/mach-sa1100/leds-lart.c | 100 ---------
arch/arm/mach-sa1100/leds.c | 50 -----
arch/arm/mach-sa1100/leds.h | 13 --
arch/arm/mach-shark/Makefile | 4 +-
arch/arm/mach-shark/core.c | 1 -
arch/arm/mach-shark/leds.c | 226 ++++++++------------
arch/arm/mach-versatile/core.c | 5 -
arch/arm/plat-omap/Kconfig | 3 +-
arch/arm/plat-omap/debug-leds.c | 293 ++++++--------------------
arch/arm/plat-samsung/time.c | 1 -
arch/arm/plat-versatile/Kconfig | 4 +-
arch/arm/plat-versatile/leds.c | 13 +-
drivers/char/nwflash.c | 34 ---
drivers/leds/Kconfig | 10 +
drivers/leds/Makefile | 1 +
drivers/leds/led-triggers.c | 84 ++++----
drivers/leds/ledtrig-cpu.c | 150 +++++++++++++
include/linux/leds.h | 16 ++
99 files changed, 1457 insertions(+), 3032 deletions(-)
delete mode 100644 arch/arm/include/asm/leds.h
delete mode 100644 arch/arm/kernel/leds.c
delete mode 100644 arch/arm/mach-clps711x/p720t-leds.c
delete mode 100644 arch/arm/mach-footbridge/ebsa285-leds.c
delete mode 100644 arch/arm/mach-footbridge/netwinder-leds.c
delete mode 100644 arch/arm/mach-ks8695/leds.c
delete mode 100644 arch/arm/mach-omap1/leds-h2p2-debug.c
delete mode 100644 arch/arm/mach-omap1/leds-innovator.c
delete mode 100644 arch/arm/mach-omap1/leds-osk.c
delete mode 100644 arch/arm/mach-omap1/leds.c
delete mode 100644 arch/arm/mach-omap1/leds.h
delete mode 100644 arch/arm/mach-pxa/leds-idp.c
delete mode 100644 arch/arm/mach-pxa/leds-lubbock.c
delete mode 100644 arch/arm/mach-pxa/leds-mainstone.c
delete mode 100644 arch/arm/mach-pxa/leds.c
delete mode 100644 arch/arm/mach-pxa/leds.h
delete mode 100644 arch/arm/mach-sa1100/leds-assabet.c
delete mode 100644 arch/arm/mach-sa1100/leds-badge4.c
delete mode 100644 arch/arm/mach-sa1100/leds-cerf.c
delete mode 100644 arch/arm/mach-sa1100/leds-hackkit.c
delete mode 100644 arch/arm/mach-sa1100/leds-lart.c
delete mode 100644 arch/arm/mach-sa1100/leds.c
delete mode 100644 arch/arm/mach-sa1100/leds.h
create mode 100644 drivers/leds/ledtrig-cpu.c
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM
@ 2012-04-30 7:42 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:42 UTC (permalink / raw)
To: linux-arm-kernel
Based on Linus Walleij's ARM LED consolidation work, this patchset introduce a
new generic led trigger for CPU not only for ARM but also for others.
For enabling CPU idle event, CPU arch code should call ledtrig_cpu() stub to
trigger idle start or idle end event.
These patches convert old style LED driver in arch/arm to gpio_led or new led
driver interface. Against linux-next 20120427 and build successfully for all the machines.
Test ledtrig-cpu driver on OMAP4 Panda board.
--
root at PandaBoard:~# uname -a
Linux PandaBoard 3.4.0-rc4-next-20120427-00019-g5186e01 #2 SMP Mon Apr 30 13:36:29 CST 2012 armv7l armv7l armv7l GNU/Linux
root at PandaBoard:~# dmesg | grep ledtrig-cpu
[ 2.034179] ledtrig-cpu: registered to indicate activity on CPUs
root at PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status1/trigger
none nand-disk mmc0 mmc1 [heartbeat] cpu0 cpu1
root at PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status2/trigger
none nand-disk [mmc0] mmc1 heartbeat cpu0 cpu1
root at PandaBoard:~# echo cpu0 > /sys/class/leds/pandaboard\:\:status1/trigger
root at PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status1/trigger
none nand-disk mmc0 mmc1 heartbeat [cpu0] cpu1
root at PandaBoard:~# echo cpu1 > /sys/class/leds/pandaboard\:\:status2/trigger
root at PandaBoard:~# cat /sys/class/leds/pandaboard\:\:status2/trigger
none nand-disk mmc0 mmc1 heartbeat cpu0 [cpu1]
Then try some heavy task like dd and use taskset to assign the task to a specific CPU,
LED will turn on or off as expect
root at PandaBoard:~# dd if=/dev/zero of=/dev/null &
[1] 1213
root at PandaBoard:~# taskset -pc 0 1213
pid 1213's current affinity list: 0,1
pid 1213's new affinity list: 0
root at PandaBoard:~# taskset -pc 1 1213
pid 1213's current affinity list: 0
pid 1213's new affinity list: 1
Try to hotplug on CPU 1
root at PandaBoard:~# echo 0 > /sys/devices/system/cpu/cpu1/online
root at PandaBoard:~# dmesg | tail
[ 4.802429] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[ 4.831939] EXT4-fs (mmcblk0p2): recovery complete
[ 5.371734] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 6.151245] init: ureadahead main process (765) terminated with status 5
[ 6.825439] udevd[819]: starting version 175
[ 7.310607] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ 8.723876] init: udev-fallback-graphics main process (983) terminated with status 1
[ 11.184661] Adding 524232k swap on /SWAP.swap. Priority:-1 extents:13 across:593912k SS
[ 5377.554534] [sched_delayed] process 1213 (dd) no longer affine to cpu1
[ 5377.554809] CPU1: shutdown
root at PandaBoard:~# echo 1 > /sys/devices/system/cpu/cpu1/online
[ 5401.427551] CPU1: Unknown IPI message 0x1
root at PandaBoard:~# taskset -pc 1 1213
pid 1213's current affinity list: 0,1
pid 1213's new affinity list: 1
root at PandaBoard:~#
--
Please find these patches here:
git://kernel.ubuntu.com/roc/linux-2.6/.git leds
v7 --> v8:
* add a patch to unify the led-trigger name
* fix some typo pointed
v6 --> v7:
* add BUILD_BUG_ON() to detect NR_CPUS > 9999
* move out pr_info from the loop as one line message
* add percpu rw_semaphore to protect critical region in ledtrig_cpu_init()
* fix error in English comments
v5 --> v6:
* replace __get_cpu_var() to per_cpu()
* remove smp_processor_id() which is wrong with for_each_possible_cpu()
* test on real OMAP4 Panda board
* add comments about CPU hotplug in the CPU LED trigger driver
v4 --> v5:
* rebase all the patches on top of latest linux-next
* replace on_each_cpu() with for_each_possible_cpu()
* add some description of ledtrig_cpu() API
* remove old leds code from driver nwflash.c, which should use a new led trigger then
* this trigger driver can be built as module now
v3 --> v4:
* fix a typo pointed by Jochen Friedrich
* fix some building errors
* add Reviewed-by and Tested-by into patch log
v2 --> v3:
* almost rewrote the whole ledtrig-cpu driver, which is more simple
* every CPU will have a per-CPU trigger
* cpu trigger can be assigned to any leds
* fix a lockdep issue in led-trigger common code
* other fix according to review
v1 --> v2:
* remove select operations in Kconfig of every machines
* add back supporting of led in core module of mach-integrator
* solidate name scheme in ledtrig-cpu.c
* add comments of CPU_LED_* cpu led events
* fold patches of RealView and Versatile together
* add machine_is_ check during assabet led driver init
* add some Acked-by in patch logs
* remove code for simpad machine in machine-sa11000, since Jochen Friedrich
introduced gpiolib and gpio-led driver for simpad
* on Assabet and Netwinder machine, LED operations is reversed like:
setting bit means turn off leds
clearing bit means turn on leds
* add a new function to read CM_CTRL register for led driver
Bryan Wu (19):
led-triggers: rename *trigger to *trig for unified naming scheme
led-triggers: create a trigger for CPU activity
ARM: at91: convert old leds drivers to gpio_led and led_trigger
drivers
ARM: mach-realview and mach-versatile: retire custom LED code
ARM: mach-ks8695: remove leds driver, since nobody use it
ARM: mach-shark: retire custom LED code
ARM: mach-orion5x: convert custom LED code to gpio_led and LED CPU
trigger
ARM: mach-integrator: move CM_CTRL to header file for accessing by
other functions
ARM: mach-integrator: retire custom LED code
ARM: mach-clps711x: retire custom LED code of P720T machine
ARM: mach-ebsa110: retire custom LED code
ARM: mach-footbridge: retire custom LED code
char: nwflash: remove old led event code
ARM: mach-pxa: retire custom LED code
ARM: plat-samsung: remove including old leds event API header file
ARM: mach-pnx4008: remove including old leds event API header file
ARM: mach-omap1: retire custom LED code
ARM: mach-sa1100: retire custom LED code
ARM: use new LEDS CPU trigger stub to replace old one
arch/arm/Kconfig | 53 -----
arch/arm/include/asm/leds.h | 50 -----
arch/arm/kernel/Makefile | 1 -
arch/arm/kernel/leds.c | 121 -----------
arch/arm/kernel/process.c | 6 +-
arch/arm/kernel/time.c | 17 --
arch/arm/mach-at91/board-csb337.c | 2 -
arch/arm/mach-at91/board-ecbat91.c | 18 +-
arch/arm/mach-at91/board-eco920.c | 22 +-
arch/arm/mach-at91/board-kafa.c | 17 +-
arch/arm/mach-at91/board-kb9202.c | 23 +-
arch/arm/mach-at91/board-rm9200dk.c | 3 -
arch/arm/mach-at91/board-rm9200ek.c | 3 -
arch/arm/mach-at91/board-rsi-ews.c | 3 -
arch/arm/mach-at91/board-sam9-l9260.c | 23 +-
arch/arm/mach-at91/board-sam9261ek.c | 3 -
arch/arm/mach-at91/board-yl-9200.c | 3 -
arch/arm/mach-at91/include/mach/board.h | 1 -
arch/arm/mach-at91/leds.c | 105 ---------
arch/arm/mach-clps711x/Makefile | 2 -
arch/arm/mach-clps711x/common.c | 1 -
arch/arm/mach-clps711x/include/mach/time.h | 2 -
arch/arm/mach-clps711x/p720t-leds.c | 66 ------
arch/arm/mach-clps711x/p720t.c | 59 ++++++
arch/arm/mach-ebsa110/Makefile | 4 +-
arch/arm/mach-ebsa110/leds.c | 79 ++++---
arch/arm/mach-footbridge/Makefile | 4 -
arch/arm/mach-footbridge/ebsa285-leds.c | 138 ------------
arch/arm/mach-footbridge/ebsa285.c | 79 +++++++
arch/arm/mach-footbridge/netwinder-hw.c | 110 ++++++++--
arch/arm/mach-footbridge/netwinder-leds.c | 138 ------------
arch/arm/mach-integrator/Makefile | 3 +-
arch/arm/mach-integrator/core.c | 3 -
arch/arm/mach-integrator/include/mach/cm.h | 2 +
arch/arm/mach-integrator/leds.c | 158 ++++++++------
arch/arm/mach-ks8695/Makefile | 3 -
arch/arm/mach-ks8695/devices.c | 21 --
arch/arm/mach-ks8695/include/mach/devices.h | 5 -
arch/arm/mach-ks8695/leds.c | 92 --------
arch/arm/mach-omap1/Makefile | 8 -
arch/arm/mach-omap1/board-h2.c | 32 +++
arch/arm/mach-omap1/board-h3.c | 32 +++
arch/arm/mach-omap1/board-osk.c | 33 +++
arch/arm/mach-omap1/leds-h2p2-debug.c | 166 ---------------
arch/arm/mach-omap1/leds-innovator.c | 98 ---------
arch/arm/mach-omap1/leds-osk.c | 113 ----------
arch/arm/mach-omap1/leds.c | 69 ------
arch/arm/mach-omap1/leds.h | 3 -
arch/arm/mach-omap1/time.c | 1 -
arch/arm/mach-omap1/timer32k.c | 1 -
arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | 1 -
arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | 1 -
arch/arm/mach-orion5x/rd88f5182-setup.c | 72 ++-----
arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c | 1 -
arch/arm/mach-pnx4008/time.c | 1 -
arch/arm/mach-pxa/Makefile | 8 -
arch/arm/mach-pxa/idp.c | 79 +++++++
arch/arm/mach-pxa/leds-idp.c | 115 ----------
arch/arm/mach-pxa/leds-lubbock.c | 124 -----------
arch/arm/mach-pxa/leds-mainstone.c | 119 -----------
arch/arm/mach-pxa/leds.c | 32 ---
arch/arm/mach-pxa/leds.h | 13 --
arch/arm/mach-pxa/lubbock.c | 93 ++++++++
arch/arm/mach-pxa/mainstone.c | 92 ++++++++
arch/arm/mach-realview/core.c | 39 ----
arch/arm/mach-realview/core.h | 2 -
arch/arm/mach-realview/realview_eb.c | 5 -
arch/arm/mach-realview/realview_pb1176.c | 5 -
arch/arm/mach-realview/realview_pb11mp.c | 5 -
arch/arm/mach-realview/realview_pba8.c | 5 -
arch/arm/mach-realview/realview_pbx.c | 5 -
arch/arm/mach-sa1100/Makefile | 9 -
arch/arm/mach-sa1100/assabet.c | 83 ++++++++
arch/arm/mach-sa1100/badge4.c | 30 +++
arch/arm/mach-sa1100/cerf.c | 42 ++++
arch/arm/mach-sa1100/hackkit.c | 32 +++
arch/arm/mach-sa1100/lart.c | 26 +++
arch/arm/mach-sa1100/leds-assabet.c | 113 ----------
arch/arm/mach-sa1100/leds-badge4.c | 110 ----------
arch/arm/mach-sa1100/leds-cerf.c | 109 ----------
arch/arm/mach-sa1100/leds-hackkit.c | 111 ----------
arch/arm/mach-sa1100/leds-lart.c | 100 ---------
arch/arm/mach-sa1100/leds.c | 50 -----
arch/arm/mach-sa1100/leds.h | 13 --
arch/arm/mach-shark/Makefile | 4 +-
arch/arm/mach-shark/core.c | 1 -
arch/arm/mach-shark/leds.c | 226 ++++++++------------
arch/arm/mach-versatile/core.c | 5 -
arch/arm/plat-omap/Kconfig | 3 +-
arch/arm/plat-omap/debug-leds.c | 293 ++++++--------------------
arch/arm/plat-samsung/time.c | 1 -
arch/arm/plat-versatile/Kconfig | 4 +-
arch/arm/plat-versatile/leds.c | 13 +-
drivers/char/nwflash.c | 34 ---
drivers/leds/Kconfig | 10 +
drivers/leds/Makefile | 1 +
drivers/leds/led-triggers.c | 84 ++++----
drivers/leds/ledtrig-cpu.c | 150 +++++++++++++
include/linux/leds.h | 16 ++
99 files changed, 1457 insertions(+), 3032 deletions(-)
delete mode 100644 arch/arm/include/asm/leds.h
delete mode 100644 arch/arm/kernel/leds.c
delete mode 100644 arch/arm/mach-clps711x/p720t-leds.c
delete mode 100644 arch/arm/mach-footbridge/ebsa285-leds.c
delete mode 100644 arch/arm/mach-footbridge/netwinder-leds.c
delete mode 100644 arch/arm/mach-ks8695/leds.c
delete mode 100644 arch/arm/mach-omap1/leds-h2p2-debug.c
delete mode 100644 arch/arm/mach-omap1/leds-innovator.c
delete mode 100644 arch/arm/mach-omap1/leds-osk.c
delete mode 100644 arch/arm/mach-omap1/leds.c
delete mode 100644 arch/arm/mach-omap1/leds.h
delete mode 100644 arch/arm/mach-pxa/leds-idp.c
delete mode 100644 arch/arm/mach-pxa/leds-lubbock.c
delete mode 100644 arch/arm/mach-pxa/leds-mainstone.c
delete mode 100644 arch/arm/mach-pxa/leds.c
delete mode 100644 arch/arm/mach-pxa/leds.h
delete mode 100644 arch/arm/mach-sa1100/leds-assabet.c
delete mode 100644 arch/arm/mach-sa1100/leds-badge4.c
delete mode 100644 arch/arm/mach-sa1100/leds-cerf.c
delete mode 100644 arch/arm/mach-sa1100/leds-hackkit.c
delete mode 100644 arch/arm/mach-sa1100/leds-lart.c
delete mode 100644 arch/arm/mach-sa1100/leds.c
delete mode 100644 arch/arm/mach-sa1100/leds.h
create mode 100644 drivers/leds/ledtrig-cpu.c
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
2012-04-30 7:42 ` Bryan Wu
@ 2012-04-30 7:42 ` Bryan Wu
-1 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:42 UTC (permalink / raw)
To: linux, rpurdie, linux-arm-kernel, linux-kernel, linus.walleij,
akpm, arnd.bergmann, nicolas.pitre, tim.gardner
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
@ 2012-04-30 7:42 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:42 UTC (permalink / raw)
To: linux-arm-kernel
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
2012-05-01 15:01 [PATCH v9 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM Bryan Wu
@ 2012-05-01 15:01 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-05-01 15:01 UTC (permalink / raw)
To: linux, rpurdie, linux-arm-kernel, linux-kernel, linus.walleij,
akpm, arnd.bergmann, nicolas.pitre, tim.gardner
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
@ 2012-05-01 15:01 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-05-01 15:01 UTC (permalink / raw)
To: linux-arm-kernel
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
2012-04-30 7:37 [PATCH v7 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM Bryan Wu
@ 2012-04-30 7:37 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:37 UTC (permalink / raw)
To: linux, rpurdie, linux-arm-kernel, linux-kernel, linus.walleij,
akpm, arnd.bergmann, nicolas.pitre, tim.gardner
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme
@ 2012-04-30 7:37 ` Bryan Wu
0 siblings, 0 replies; 8+ messages in thread
From: Bryan Wu @ 2012-04-30 7:37 UTC (permalink / raw)
To: linux-arm-kernel
No functional change.
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
drivers/leds/led-triggers.c | 84 +++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 46b4c76..b449ed8 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL(led_trigger_show);
/* Caller must ensure led_cdev->trigger_lock held */
-void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
+void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
{
unsigned long flags;
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev->trigger = NULL;
led_brightness_set(led_cdev, LED_OFF);
}
- if (trigger) {
- write_lock_irqsave(&trigger->leddev_list_lock, flags);
- list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
- write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
- led_cdev->trigger = trigger;
- if (trigger->activate)
- trigger->activate(led_cdev);
+ if (trig) {
+ write_lock_irqsave(&trig->leddev_list_lock, flags);
+ list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
+ write_unlock_irqrestore(&trig->leddev_list_lock, flags);
+ led_cdev->trigger = trig;
+ if (trig->activate)
+ trig->activate(led_cdev);
}
}
EXPORT_SYMBOL_GPL(led_trigger_set);
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
-int led_trigger_register(struct led_trigger *trigger)
+int led_trigger_register(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
- struct led_trigger *trig;
+ struct led_trigger *_trig;
- rwlock_init(&trigger->leddev_list_lock);
- INIT_LIST_HEAD(&trigger->led_cdevs);
+ rwlock_init(&trig->leddev_list_lock);
+ INIT_LIST_HEAD(&trig->led_cdevs);
down_write(&triggers_list_lock);
/* Make sure the trigger's name isn't already in use */
- list_for_each_entry(trig, &trigger_list, next_trig) {
- if (!strcmp(trig->name, trigger->name)) {
+ list_for_each_entry(_trig, &trigger_list, next_trig) {
+ if (!strcmp(_trig->name, trig->name)) {
up_write(&triggers_list_lock);
return -EEXIST;
}
}
/* Add to the list of led triggers */
- list_add_tail(&trigger->next_trig, &trigger_list);
+ list_add_tail(&trig->next_trig, &trigger_list);
up_write(&triggers_list_lock);
/* Register with any LEDs that have this as a default trigger */
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
if (!led_cdev->trigger && led_cdev->default_trigger &&
- !strcmp(led_cdev->default_trigger, trigger->name))
- led_trigger_set(led_cdev, trigger);
+ !strcmp(led_cdev->default_trigger, trig->name))
+ led_trigger_set(led_cdev, trig);
up_write(&led_cdev->trigger_lock);
}
up_read(&leds_list_lock);
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL(led_trigger_register);
-void led_trigger_unregister(struct led_trigger *trigger)
+void led_trigger_unregister(struct led_trigger *trig)
{
struct led_classdev *led_cdev;
/* Remove from the list of led triggers */
down_write(&triggers_list_lock);
- list_del(&trigger->next_trig);
+ list_del(&trig->next_trig);
up_write(&triggers_list_lock);
/* Remove anyone actively using this trigger */
down_read(&leds_list_lock);
list_for_each_entry(led_cdev, &leds_list, node) {
down_write(&led_cdev->trigger_lock);
- if (led_cdev->trigger == trigger)
+ if (led_cdev->trigger == trig)
led_trigger_set(led_cdev, NULL);
up_write(&led_cdev->trigger_lock);
}
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
-void led_trigger_event(struct led_trigger *trigger,
+void led_trigger_event(struct led_trigger *trig,
enum led_brightness brightness)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_set_brightness(led_cdev, brightness);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_event);
-void led_trigger_blink(struct led_trigger *trigger,
+void led_trigger_blink(struct led_trigger *trig,
unsigned long *delay_on,
unsigned long *delay_off)
{
struct list_head *entry;
- if (!trigger)
+ if (!trig)
return;
- read_lock(&trigger->leddev_list_lock);
- list_for_each(entry, &trigger->led_cdevs) {
+ read_lock(&trig->leddev_list_lock);
+ list_for_each(entry, &trig->led_cdevs) {
struct led_classdev *led_cdev;
led_cdev = list_entry(entry, struct led_classdev, trig_list);
led_blink_set(led_cdev, delay_on, delay_off);
}
- read_unlock(&trigger->leddev_list_lock);
+ read_unlock(&trig->leddev_list_lock);
}
EXPORT_SYMBOL_GPL(led_trigger_blink);
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
- struct led_trigger *trigger;
+ struct led_trigger *trig;
int err;
- trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
+ trig = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
- if (trigger) {
- trigger->name = name;
- err = led_trigger_register(trigger);
+ if (trig) {
+ trig->name = name;
+ err = led_trigger_register(trig);
if (err < 0) {
- kfree(trigger);
- trigger = NULL;
+ kfree(trig);
+ trig = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
- *tp = trigger;
+ *tp = trig;
}
EXPORT_SYMBOL_GPL(led_trigger_register_simple);
-void led_trigger_unregister_simple(struct led_trigger *trigger)
+void led_trigger_unregister_simple(struct led_trigger *trig)
{
- if (trigger)
- led_trigger_unregister(trigger);
- kfree(trigger);
+ if (trig)
+ led_trigger_unregister(trig);
+ kfree(trig);
}
EXPORT_SYMBOL_GPL(led_trigger_unregister_simple);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-05-01 15:02 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-30 7:42 [PATCH v8 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM Bryan Wu
2012-04-30 7:42 ` Bryan Wu
2012-04-30 7:42 ` [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme Bryan Wu
2012-04-30 7:42 ` Bryan Wu
-- strict thread matches above, loose matches on Subject: below --
2012-05-01 15:01 [PATCH v9 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM Bryan Wu
2012-05-01 15:01 ` [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme Bryan Wu
2012-05-01 15:01 ` Bryan Wu
2012-04-30 7:37 [PATCH v7 00/19] Introduce a led trigger for CPU activity and consolidate LED driver in ARM Bryan Wu
2012-04-30 7:37 ` [PATCH 01/19] led-triggers: rename *trigger to *trig for unified naming scheme Bryan Wu
2012-04-30 7:37 ` Bryan Wu
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.