aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/files/drivers
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-02-02 01:21:54 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-02-02 01:21:54 +0000
commitf165889337c7cc037a2b4444d5bc7b002b5f24d2 (patch)
tree7c196bea27f26b6c17ffe726b9bf1b2b03fe9b12 /target/linux/generic-2.6/files/drivers
parent2a189e94a6919c7a616bc8b891b16503c8934a32 (diff)
downloadupstream-f165889337c7cc037a2b4444d5bc7b002b5f24d2.tar.gz
upstream-f165889337c7cc037a2b4444d5bc7b002b5f24d2.tar.bz2
upstream-f165889337c7cc037a2b4444d5bc7b002b5f24d2.zip
"default-on" LED Trigger
The current LED subsystem always initialises LEDs in the OFF state. This is fine for most LEDs but some should be on right from boot (e.g. POWER LED). Following some discussion with the LED subsystem maintainers, a trigger was recommended as the best way to implement this functionality. Here is a patch to add a new trigger "default-on" which will initialise an LED in the ON state. It is not compiled by default. Particular thanks to Rod Whitby for all his help with this. Signed-off-by: Nick Forbes <nick.forbes@incepta.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10348 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/files/drivers')
-rw-r--r--target/linux/generic-2.6/files/drivers/leds/ledtrig-default-on.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/files/drivers/leds/ledtrig-default-on.c b/target/linux/generic-2.6/files/drivers/leds/ledtrig-default-on.c
new file mode 100644
index 0000000000..92995e40cf
--- /dev/null
+++ b/target/linux/generic-2.6/files/drivers/leds/ledtrig-default-on.c
@@ -0,0 +1,45 @@
+/*
+ * LED Kernel Default ON Trigger
+ *
+ * Copyright 2008 Nick Forbes <nick.forbes@incepta.com>
+ *
+ * Based on Richard Purdie's ledtrig-timer.c.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/leds.h>
+#include "leds.h"
+
+static void defon_trig_activate(struct led_classdev *led_cdev)
+{
+ led_set_brightness(led_cdev, LED_FULL);
+}
+
+static struct led_trigger defon_led_trigger = {
+ .name = "default-on",
+ .activate = defon_trig_activate,
+};
+
+static int __init defon_trig_init(void)
+{
+ return led_trigger_register(&defon_led_trigger);
+}
+
+static void __exit defon_trig_exit(void)
+{
+ led_trigger_unregister(&defon_led_trigger);
+}
+
+module_init(defon_trig_init);
+module_exit(defon_trig_exit);
+
+MODULE_AUTHOR("Nick Forbes <nick.forbes@incepta.com>");
+MODULE_DESCRIPTION("Default-ON LED trigger");
+MODULE_LICENSE("GPL");