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>

authored by Vasily Khoruzhick and committed by Anton Vorontsov 0b9536c9 51d07566

+23
+20
drivers/leds/led-triggers.c
··· 231 231 } 232 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 254 void led_trigger_register_simple(const char *name, struct led_trigger **tp) 235 255 { 236 256 struct led_trigger *trigger;
+3
include/linux/leds.h
··· 145 145 extern void led_trigger_unregister_simple(struct led_trigger *trigger); 146 146 extern void led_trigger_event(struct led_trigger *trigger, 147 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 152 #else 150 153