summaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorStephan Linz <linz@li-pro.net>2016-06-10 01:59:56 -0400
committerJacek Anaszewski <j.anaszewski@samsung.com>2016-06-20 03:57:56 -0400
commiteb25cb9956cc9384b7fa0d75dec908c9fac8c444 (patch)
tree5bb75ffac203f56d4c3acb89246493bbea280528 /drivers/leds
parentfa4191a609f219262a18dd8b02ab7dc30896b707 (diff)
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.c2
-rw-r--r--drivers/leds/trigger/Kconfig8
-rw-r--r--drivers/leds/trigger/Makefile2
-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 a6b8db0e27f1..137969fcecbb 100644
--- a/drivers/leds/leds-hp6xx.c
+++ b/drivers/leds/leds-hp6xx.c
@@ -50,7 +50,7 @@ static struct led_classdev hp6xx_red_led = {
50 50
51static struct led_classdev hp6xx_green_led = { 51static struct led_classdev hp6xx_green_led = {
52 .name = "hp6xx:green", 52 .name = "hp6xx:green",
53 .default_trigger = "ide-disk", 53 .default_trigger = "disk-activity",
54 .brightness_set = hp6xxled_green_set, 54 .brightness_set = hp6xxled_green_set,
55 .flags = LED_CORE_SUSPENDRESUME, 55 .flags = LED_CORE_SUSPENDRESUME,
56}; 56};
diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig
index 9893d911390d..3f9ddb9fafa7 100644
--- a/drivers/leds/trigger/Kconfig
+++ b/drivers/leds/trigger/Kconfig
@@ -33,12 +33,12 @@ config LEDS_TRIGGER_ONESHOT
33 33
34 If unsure, say Y. 34 If unsure, say Y.
35 35
36config LEDS_TRIGGER_IDE_DISK 36config LEDS_TRIGGER_DISK
37 bool "LED IDE Disk Trigger" 37 bool "LED Disk Trigger"
38 depends on IDE_GD_ATA 38 depends on IDE_GD_ATA || ATA
39 depends on LEDS_TRIGGERS 39 depends on LEDS_TRIGGERS
40 help 40 help
41 This allows LEDs to be controlled by IDE disk activity. 41 This allows LEDs to be controlled by disk activity.
42 If unsure, say Y. 42 If unsure, say Y.
43 43
44config LEDS_TRIGGER_MTD 44config LEDS_TRIGGER_MTD
diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile
index 8cc64a4f4e25..a72c43cffebf 100644
--- a/drivers/leds/trigger/Makefile
+++ b/drivers/leds/trigger/Makefile
@@ -1,6 +1,6 @@
1obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o 1obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
2obj-$(CONFIG_LEDS_TRIGGER_ONESHOT) += ledtrig-oneshot.o 2obj-$(CONFIG_LEDS_TRIGGER_ONESHOT) += ledtrig-oneshot.o
3obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o 3obj-$(CONFIG_LEDS_TRIGGER_DISK) += ledtrig-disk.o
4obj-$(CONFIG_LEDS_TRIGGER_MTD) += ledtrig-mtd.o 4obj-$(CONFIG_LEDS_TRIGGER_MTD) += ledtrig-mtd.o
5obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o 5obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
6obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o 6obj-$(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 15123d389240..cd525b4125eb 100644
--- a/drivers/leds/trigger/ledtrig-ide-disk.c
+++ b/drivers/leds/trigger/ledtrig-disk.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * LED IDE-Disk Activity Trigger 2 * LED Disk Activity Trigger
3 * 3 *
4 * Copyright 2006 Openedhand Ltd. 4 * Copyright 2006 Openedhand Ltd.
5 * 5 *
@@ -17,20 +17,25 @@
17 17
18#define BLINK_DELAY 30 18#define BLINK_DELAY 30
19 19
20DEFINE_LED_TRIGGER(ledtrig_disk);
20DEFINE_LED_TRIGGER(ledtrig_ide); 21DEFINE_LED_TRIGGER(ledtrig_ide);
21 22
22void ledtrig_ide_activity(void) 23void ledtrig_disk_activity(void)
23{ 24{
24 unsigned long ide_blink_delay = BLINK_DELAY; 25 unsigned long blink_delay = BLINK_DELAY;
25 26
27 led_trigger_blink_oneshot(ledtrig_disk,
28 &blink_delay, &blink_delay, 0);
26 led_trigger_blink_oneshot(ledtrig_ide, 29 led_trigger_blink_oneshot(ledtrig_ide,
27 &ide_blink_delay, &ide_blink_delay, 0); 30 &blink_delay, &blink_delay, 0);
28} 31}
29EXPORT_SYMBOL(ledtrig_ide_activity); 32EXPORT_SYMBOL(ledtrig_disk_activity);
30 33
31static int __init ledtrig_ide_init(void) 34static int __init ledtrig_disk_init(void)
32{ 35{
36 led_trigger_register_simple("disk-activity", &ledtrig_disk);
33 led_trigger_register_simple("ide-disk", &ledtrig_ide); 37 led_trigger_register_simple("ide-disk", &ledtrig_ide);
38
34 return 0; 39 return 0;
35} 40}
36device_initcall(ledtrig_ide_init); 41device_initcall(ledtrig_disk_init);