diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2011-01-07 16:28:16 +0000 |
---|---|---|
committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2011-01-31 16:30:24 +0300 |
commit | 0b9536c957095eb1497828aa51b34ac695f67eae (patch) | |
tree | 2620b5af70a2d8f13edefd62d1337bc9f071b6f9 | |
parent | 51d07566045787b99219d809639c8724506fc78a (diff) | |
download | kernel_goldelico_gta04-0b9536c957095eb1497828aa51b34ac695f67eae.zip kernel_goldelico_gta04-0b9536c957095eb1497828aa51b34ac695f67eae.tar.gz kernel_goldelico_gta04-0b9536c957095eb1497828aa51b34ac695f67eae.tar.bz2 |
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.c | 20 | ||||
-rw-r--r-- | include/linux/leds.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index c41eb61..4bebae7 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, } EXPORT_SYMBOL_GPL(led_trigger_event); +void led_trigger_blink(struct led_trigger *trigger, + unsigned long *delay_on, + unsigned long *delay_off) +{ + struct list_head *entry; + + if (!trigger) + return; + + read_lock(&trigger->leddev_list_lock); + list_for_each(entry, &trigger->led_cdevs) { + struct led_classdev *led_cdev; + + led_cdev = list_entry(entry, struct led_classdev, trig_list); + led_blink_set(led_cdev, delay_on, delay_off); + } + read_unlock(&trigger->leddev_list_lock); +} +EXPORT_SYMBOL_GPL(led_trigger_blink); + void led_trigger_register_simple(const char *name, struct led_trigger **tp) { struct led_trigger *trigger; diff --git a/include/linux/leds.h b/include/linux/leds.h index 0f19df9..ffd5c3d 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -145,6 +145,9 @@ extern void led_trigger_register_simple(const char *name, extern void led_trigger_unregister_simple(struct led_trigger *trigger); extern void led_trigger_event(struct led_trigger *trigger, enum led_brightness event); +extern void led_trigger_blink(struct led_trigger *trigger, + unsigned long *delay_on, + unsigned long *delay_off); #else |