Lines Matching refs:led_cdev
37 struct led_classdev *led_cdev = dev_get_drvdata(dev); in led_trigger_store() local
50 led_trigger_remove(led_cdev); in led_trigger_store()
57 down_write(&led_cdev->trigger_lock); in led_trigger_store()
58 led_trigger_set(led_cdev, trig); in led_trigger_store()
59 up_write(&led_cdev->trigger_lock); in led_trigger_store()
74 struct led_classdev *led_cdev = dev_get_drvdata(dev); in led_trigger_show() local
79 down_read(&led_cdev->trigger_lock); in led_trigger_show()
81 if (!led_cdev->trigger) in led_trigger_show()
87 if (led_cdev->trigger && !strcmp(led_cdev->trigger->name, in led_trigger_show()
93 up_read(&led_cdev->trigger_lock); in led_trigger_show()
102 void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig) in led_trigger_set() argument
113 if (led_cdev->trigger) { in led_trigger_set()
114 write_lock_irqsave(&led_cdev->trigger->leddev_list_lock, flags); in led_trigger_set()
115 list_del(&led_cdev->trig_list); in led_trigger_set()
116 write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, in led_trigger_set()
118 cancel_work_sync(&led_cdev->set_brightness_work); in led_trigger_set()
119 led_stop_software_blink(led_cdev); in led_trigger_set()
120 if (led_cdev->trigger->deactivate) in led_trigger_set()
121 led_cdev->trigger->deactivate(led_cdev); in led_trigger_set()
122 led_cdev->trigger = NULL; in led_trigger_set()
123 led_set_brightness(led_cdev, LED_OFF); in led_trigger_set()
127 list_add_tail(&led_cdev->trig_list, &trig->led_cdevs); in led_trigger_set()
129 led_cdev->trigger = trig; in led_trigger_set()
131 trig->activate(led_cdev); in led_trigger_set()
137 kobject_uevent_env(&led_cdev->dev->kobj, KOBJ_CHANGE, envp); in led_trigger_set()
143 void led_trigger_remove(struct led_classdev *led_cdev) in led_trigger_remove() argument
145 down_write(&led_cdev->trigger_lock); in led_trigger_remove()
146 led_trigger_set(led_cdev, NULL); in led_trigger_remove()
147 up_write(&led_cdev->trigger_lock); in led_trigger_remove()
151 void led_trigger_set_default(struct led_classdev *led_cdev) in led_trigger_set_default() argument
155 if (!led_cdev->default_trigger) in led_trigger_set_default()
159 down_write(&led_cdev->trigger_lock); in led_trigger_set_default()
161 if (!strcmp(led_cdev->default_trigger, trig->name)) in led_trigger_set_default()
162 led_trigger_set(led_cdev, trig); in led_trigger_set_default()
164 up_write(&led_cdev->trigger_lock); in led_trigger_set_default()
186 struct led_classdev *led_cdev; in led_trigger_register() local
206 list_for_each_entry(led_cdev, &leds_list, node) { in led_trigger_register()
207 down_write(&led_cdev->trigger_lock); in led_trigger_register()
208 if (!led_cdev->trigger && led_cdev->default_trigger && in led_trigger_register()
209 !strcmp(led_cdev->default_trigger, trig->name)) in led_trigger_register()
210 led_trigger_set(led_cdev, trig); in led_trigger_register()
211 up_write(&led_cdev->trigger_lock); in led_trigger_register()
221 struct led_classdev *led_cdev; in led_trigger_unregister() local
230 list_for_each_entry(led_cdev, &leds_list, node) { in led_trigger_unregister()
231 down_write(&led_cdev->trigger_lock); in led_trigger_unregister()
232 if (led_cdev->trigger == trig) in led_trigger_unregister()
233 led_trigger_set(led_cdev, NULL); in led_trigger_unregister()
234 up_write(&led_cdev->trigger_lock); in led_trigger_unregister()
252 struct led_classdev *led_cdev; in led_trigger_event() local
254 led_cdev = list_entry(entry, struct led_classdev, trig_list); in led_trigger_event()
255 led_set_brightness(led_cdev, brightness); in led_trigger_event()
274 struct led_classdev *led_cdev; in led_trigger_blink_setup() local
276 led_cdev = list_entry(entry, struct led_classdev, trig_list); in led_trigger_blink_setup()
278 led_blink_set_oneshot(led_cdev, delay_on, delay_off, in led_trigger_blink_setup()
281 led_blink_set(led_cdev, delay_on, delay_off); in led_trigger_blink_setup()