diff options
| author | Vasily Khoruzhick <anarsoul@gmail.com> | 2011-01-07 11:28:16 -0500 |
|---|---|---|
| committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2011-01-31 08:30:24 -0500 |
| commit | 0b9536c957095eb1497828aa51b34ac695f67eae (patch) | |
| tree | 2620b5af70a2d8f13edefd62d1337bc9f071b6f9 | |
| parent | 51d07566045787b99219d809639c8724506fc78a (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.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 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 | } |
| 232 | EXPORT_SYMBOL_GPL(led_trigger_event); | 232 | EXPORT_SYMBOL_GPL(led_trigger_event); |
| 233 | 233 | ||
| 234 | void 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 | } | ||
| 252 | EXPORT_SYMBOL_GPL(led_trigger_blink); | ||
| 253 | |||
| 234 | void led_trigger_register_simple(const char *name, struct led_trigger **tp) | 254 | void 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, | |||
| 145 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); | 145 | extern void led_trigger_unregister_simple(struct led_trigger *trigger); |
| 146 | extern void led_trigger_event(struct led_trigger *trigger, | 146 | extern void led_trigger_event(struct led_trigger *trigger, |
| 147 | enum led_brightness event); | 147 | enum led_brightness event); |
| 148 | extern 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 | ||
