|
@@ -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;
|