summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-04-07 09:59:29 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2017-04-07 09:59:29 +0200
commit5204fb1264037917733abe5f7611e2d5e4cb411e (patch)
tree70c8c40a964cdd829089828d6ff201c649de2fc8 /include
parent80aaa2634ee0787e3304dce07f3dc83917a8a5c8 (diff)
parent7dd8ae82311daa9ee22ffc762ea158c3977fb20c (diff)
downloadbarebox-5204fb1264037917733abe5f7611e2d5e4cb411e.tar.gz
barebox-5204fb1264037917733abe5f7611e2d5e4cb411e.tar.xz
Merge branch 'for-next/led'
Diffstat (limited to 'include')
-rw-r--r--include/led.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/led.h b/include/led.h
index 000267cdc5..0ce857129d 100644
--- a/include/led.h
+++ b/include/led.h
@@ -12,6 +12,13 @@ struct led {
char *name;
int num;
struct list_head list;
+
+ int blink;
+ int flash;
+ unsigned int *blink_states;
+ int blink_nr_states;
+ int blink_next_state;
+ uint64_t blink_next_event;
};
struct led *led_by_number(int no);
@@ -25,6 +32,10 @@ static inline int led_get_number(struct led *led)
int led_set_num(int num, unsigned int value);
int led_set(struct led *led, unsigned int value);
+int led_blink(struct led *led, unsigned int on_ms, unsigned int off_ms);
+int led_blink_pattern(struct led *led, const unsigned int *pattern,
+ unsigned int pattern_len);
+int led_flash(struct led *led, unsigned int duration_ms);
int led_register(struct led *led);
void led_unregister(struct led *led);
void led_unregister(struct led *led);
@@ -38,6 +49,7 @@ enum led_trigger {
LED_TRIGGER_NET_TXRX,
LED_TRIGGER_DEFAULT_ON,
LED_TRIGGER_MAX,
+ LED_TRIGGER_INVALID = LED_TRIGGER_MAX,
};
enum trigger_type {
@@ -48,6 +60,7 @@ enum trigger_type {
#ifdef CONFIG_LED_TRIGGERS
int led_set_trigger(enum led_trigger trigger, struct led *led);
+void led_trigger_disable(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)
@@ -60,7 +73,9 @@ static inline void led_trigger(enum led_trigger trigger, enum trigger_type type)
}
#endif
-int led_get_trigger(enum led_trigger trigger);
+void led_triggers_show_info(void);
+const char *trigger_name(enum led_trigger trigger);
+enum led_trigger trigger_by_name(const char *name);
void led_of_parse_trigger(struct led *led, struct device_node *np);