summaryrefslogtreecommitdiffstats
path: root/include/led.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-12-18 14:34:14 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2010-12-20 09:28:21 +0100
commit51271530d2f824ee9e1ef01a2eb7f361622716aa (patch)
tree5f2bdd94e67322c5fdfe3828a5850b2c54f4fa28 /include/led.h
parent0277a663bcbebe5be82dc88235fcd0a1465bd5e8 (diff)
downloadbarebox-51271530d2f824ee9e1ef01a2eb7f361622716aa.tar.gz
barebox-51271530d2f824ee9e1ef01a2eb7f361622716aa.tar.xz
basic LED support
This patch adds core functionality for controlling LEDs. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/led.h')
-rw-r--r--include/led.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/led.h b/include/led.h
new file mode 100644
index 0000000000..3e7b1d98b3
--- /dev/null
+++ b/include/led.h
@@ -0,0 +1,27 @@
+#ifndef __LED_H
+#define __LED_H
+
+struct led {
+ void (*set)(struct led *, unsigned int value);
+ int max_value;
+ char *name;
+ int num;
+ struct list_head list;
+};
+
+struct led *led_by_number(int no);
+struct led *led_by_name(const char *name);
+struct led *led_by_name_or_number(const char *str);
+
+static inline int led_get_number(struct led *led)
+{
+ return led->num;
+}
+
+int led_set_num(int num, unsigned int value);
+int led_set(struct led *led, unsigned int value);
+int led_register(struct led *led);
+void led_unregister(struct led *led);
+void led_unregister(struct led *led);
+
+#endif /* __LED_H */