diff options
author | Stephan Linz <linz@li-pro.net> | 2016-06-10 07:59:56 +0200 |
---|---|---|
committer | Jacek Anaszewski <j.anaszewski@samsung.com> | 2016-06-20 09:57:56 +0200 |
commit | eb25cb9956cc9384b7fa0d75dec908c9fac8c444 (patch) | |
tree | 5bb75ffac203f56d4c3acb89246493bbea280528 /drivers/leds | |
parent | fa4191a609f219262a18dd8b02ab7dc30896b707 (diff) | |
download | op-kernel-dev-eb25cb9956cc9384b7fa0d75dec908c9fac8c444.zip op-kernel-dev-eb25cb9956cc9384b7fa0d75dec908c9fac8c444.tar.gz |
leds: convert IDE trigger to common disk trigger
This patch converts the IDE specific LED trigger to a generic disk
activity LED trigger. The libata core is now a trigger source just
like before the IDE disk driver. It's merely a replacement of the
string ide by disk.
The patch is taken from http://dev.gentoo.org/~josejx/ata.patch and is
widely used by any ibook/powerbook owners with great satisfaction.
Likewise, it is very often used successfully on different ARM platforms.
Unlike the original patch, the existing 'ide-disk' trigger is still
available for backward compatibility. That reduce the amount of patches
in affected device trees out of the mainline kernel. For further
development, the new name 'disk-activity' should be used.
Cc: Joseph Jezak <josejx@gentoo.org>
Cc: Jörg Sommer <joerg@alea.gnuu.de>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Stephan Linz <linz@li-pro.net>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-hp6xx.c | 2 | ||||
-rw-r--r-- | drivers/leds/trigger/Kconfig | 8 | ||||
-rw-r--r-- | drivers/leds/trigger/Makefile | 2 | ||||
-rw-r--r-- | drivers/leds/trigger/ledtrig-disk.c (renamed from drivers/leds/trigger/ledtrig-ide-disk.c) | 19 |
4 files changed, 18 insertions, 13 deletions
diff --git a/drivers/leds/leds-hp6xx.c b/drivers/leds/leds-hp6xx.c index a6b8db0..137969f 100644 --- a/drivers/leds/leds-hp6xx.c +++ b/drivers/leds/leds-hp6xx.c @@ -50,7 +50,7 @@ static struct led_classdev hp6xx_red_led = { static struct led_classdev hp6xx_green_led = { .name = "hp6xx:green", - .default_trigger = "ide-disk", + .default_trigger = "disk-activity", .brightness_set = hp6xxled_green_set, .flags = LED_CORE_SUSPENDRESUME, }; diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig index 9893d91..3f9ddb9 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -33,12 +33,12 @@ config LEDS_TRIGGER_ONESHOT If unsure, say Y. -config LEDS_TRIGGER_IDE_DISK - bool "LED IDE Disk Trigger" - depends on IDE_GD_ATA +config LEDS_TRIGGER_DISK + bool "LED Disk Trigger" + depends on IDE_GD_ATA || ATA depends on LEDS_TRIGGERS help - This allows LEDs to be controlled by IDE disk activity. + This allows LEDs to be controlled by disk activity. If unsure, say Y. config LEDS_TRIGGER_MTD diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile index 8cc64a4..a72c43c 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile @@ -1,6 +1,6 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o obj-$(CONFIG_LEDS_TRIGGER_ONESHOT) += ledtrig-oneshot.o -obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o +obj-$(CONFIG_LEDS_TRIGGER_DISK) += ledtrig-disk.o obj-$(CONFIG_LEDS_TRIGGER_MTD) += ledtrig-mtd.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o diff --git a/drivers/leds/trigger/ledtrig-ide-disk.c b/drivers/leds/trigger/ledtrig-disk.c index 15123d3..cd525b4 100644 --- a/drivers/leds/trigger/ledtrig-ide-disk.c +++ b/drivers/leds/trigger/ledtrig-disk.c @@ -1,5 +1,5 @@ /* - * LED IDE-Disk Activity Trigger + * LED Disk Activity Trigger * * Copyright 2006 Openedhand Ltd. * @@ -17,20 +17,25 @@ #define BLINK_DELAY 30 +DEFINE_LED_TRIGGER(ledtrig_disk); DEFINE_LED_TRIGGER(ledtrig_ide); -void ledtrig_ide_activity(void) +void ledtrig_disk_activity(void) { - unsigned long ide_blink_delay = BLINK_DELAY; + unsigned long blink_delay = BLINK_DELAY; + led_trigger_blink_oneshot(ledtrig_disk, + &blink_delay, &blink_delay, 0); led_trigger_blink_oneshot(ledtrig_ide, - &ide_blink_delay, &ide_blink_delay, 0); + &blink_delay, &blink_delay, 0); } -EXPORT_SYMBOL(ledtrig_ide_activity); +EXPORT_SYMBOL(ledtrig_disk_activity); -static int __init ledtrig_ide_init(void) +static int __init ledtrig_disk_init(void) { + led_trigger_register_simple("disk-activity", &ledtrig_disk); led_trigger_register_simple("ide-disk", &ledtrig_ide); + return 0; } -device_initcall(ledtrig_ide_init); +device_initcall(ledtrig_disk_init); |