aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-01-07 11:28:16 -0500
committerAnton Vorontsov <cbouatmailru@gmail.com>2011-01-31 08:30:24 -0500
commit0b9536c957095eb1497828aa51b34ac695f67eae (patch)
tree2620b5af70a2d8f13edefd62d1337bc9f071b6f9
parent51d07566045787b99219d809639c8724506fc78a (diff)
leds: Add ability to blink via simple trigger
As blink API is now available, it's possible to add ability to blink via simple trigger. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
-rw-r--r--drivers/leds/led-triggers.c20
-rw-r--r--include/linux/leds.h3
2 files changed, 23 insertions, 0 deletions
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index c41eb6180c9c..4bebae733349 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -231,6 +231,26 @@ void led_trigger_event(struct led_trigger *trigger,
231} 231}
232EXPORT_SYMBOL_GPL(led_trigger_event); 232EXPORT_SYMBOL_GPL(led_trigger_event);
233 233
234void led_trigger_blink(struct led_trigger *trigger,
235 unsigned long *delay_on,
236 unsigned long *delay_off)
237{
238 struct list_head *entry;
239
240 if (!trigger)
241 return;
242
243 read_lock(&trigger->leddev_list_lock);
244 list_for_each(entry, &trigger->led_cdevs) {
245 struct led_classdev *led_cdev;
246
247 led_cdev = list_entry(entry, struct led_classdev, trig_list);
248 led_blink_set(led_cdev, delay_on, delay_off);
249 }
250 read_unlock(&trigger->leddev_list_lock);
251}
252EXPORT_SYMBOL_GPL(led_trigger_blink);
253
234void led_trigger_register_simple(const char *name, struct led_trigger **tp) 254void led_trigger_register_simple(const char *name, struct led_trigger **tp)
235{ 255{
236 struct led_trigger *trigger; 256 struct led_trigger *trigger;
diff --git a/include/linux/leds.h b/include/linux/leds.h
index 0f19df9e37b0..ffd5c3d91193 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -145,6 +145,9 @@ extern void led_trigger_register_simple(const char *name,
145extern void led_trigger_unregister_simple(struct led_trigger *trigger); 145extern void led_trigger_unregister_simple(struct led_trigger *trigger);
146extern void led_trigger_event(struct led_trigger *trigger, 146extern void led_trigger_event(struct led_trigger *trigger,
147 enum led_brightness event); 147 enum led_brightness event);
148extern void led_trigger_blink(struct led_trigger *trigger,
149 unsigned long *delay_on,
150 unsigned long *delay_off);
148 151
149#else 152#else
150 153