summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-12-18 14:37:39 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2010-12-20 09:57:35 +0100
commit32558d1ae5ae15a8e417e9640daf0b7e2e01964f (patch)
treec9cfde824ac862292ff44aaf9fd830d0014c11fe /include
parent91d781f51df5d4de23d09a6777bfc968a0a7ca68 (diff)
downloadbarebox-32558d1ae5ae15a8e417e9640daf0b7e2e01964f.tar.gz
barebox-32558d1ae5ae15a8e417e9640daf0b7e2e01964f.tar.xz
LED: Add LED trigger support
This patch allows to associate LEDs with certain triggers, such as heartbeat or network activity. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/led.h32
-rw-r--r--include/net.h3
2 files changed, 35 insertions, 0 deletions
diff --git a/include/led.h b/include/led.h
index 0210897ff2..9ec1f0d37b 100644
--- a/include/led.h
+++ b/include/led.h
@@ -26,6 +26,38 @@ int led_register(struct led *led);
void led_unregister(struct led *led);
void led_unregister(struct led *led);
+/* LED trigger support */
+enum led_trigger {
+ LED_TRIGGER_PANIC,
+ LED_TRIGGER_HEARTBEAT,
+ LED_TRIGGER_NET_RX,
+ LED_TRIGGER_NET_TX,
+ LED_TRIGGER_NET_TXRX,
+ LED_TRIGGER_MAX,
+};
+
+enum trigger_type {
+ TRIGGER_ENABLE,
+ TRIGGER_DISABLE,
+ TRIGGER_FLASH,
+};
+
+#ifdef CONFIG_LED_TRIGGERS
+int led_set_trigger(enum led_trigger trigger, struct led *led);
+void led_trigger(enum led_trigger trigger, enum trigger_type);
+#else
+static inline int led_set_trigger(enum led_trigger trigger, struct led *led)
+{
+ return 0;
+}
+
+static inline void led_trigger(enum led_trigger trigger, enum trigger_type type)
+{
+}
+#endif
+
+int led_get_trigger(enum led_trigger trigger);
+
/* gpio LED support */
struct gpio_led {
int gpio;
diff --git a/include/net.h b/include/net.h
index c695e5f72a..ccaab8b35f 100644
--- a/include/net.h
+++ b/include/net.h
@@ -18,6 +18,7 @@
#include <malloc.h>
#include <stdlib.h>
#include <clock.h>
+#include <led.h>
#include <asm/byteorder.h> /* for nton* / ntoh* stuff */
@@ -417,4 +418,6 @@ static inline unsigned char *net_udp_get_payload(struct net_connection *con)
int net_udp_send(struct net_connection *con, int len);
int net_icmp_send(struct net_connection *con, int len);
+void led_trigger_network(enum led_trigger trigger);
+
#endif /* __NET_H__ */