• Home
  • Raw
  • Download

Lines Matching refs:trigger

81 	if (!led_cdev->trigger)  in led_trigger_show()
87 if (led_cdev->trigger && !strcmp(led_cdev->trigger->name, in led_trigger_show()
102 void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger) in led_trigger_set() argument
107 if (led_cdev->trigger) { in led_trigger_set()
108 write_lock_irqsave(&led_cdev->trigger->leddev_list_lock, flags); in led_trigger_set()
110 write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, in led_trigger_set()
112 if (led_cdev->trigger->deactivate) in led_trigger_set()
113 led_cdev->trigger->deactivate(led_cdev); in led_trigger_set()
114 led_cdev->trigger = NULL; in led_trigger_set()
117 if (trigger) { in led_trigger_set()
118 write_lock_irqsave(&trigger->leddev_list_lock, flags); in led_trigger_set()
119 list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs); in led_trigger_set()
120 write_unlock_irqrestore(&trigger->leddev_list_lock, flags); in led_trigger_set()
121 led_cdev->trigger = trigger; in led_trigger_set()
122 if (trigger->activate) in led_trigger_set()
123 trigger->activate(led_cdev); in led_trigger_set()
156 int led_trigger_register(struct led_trigger *trigger) in led_trigger_register() argument
160 rwlock_init(&trigger->leddev_list_lock); in led_trigger_register()
161 INIT_LIST_HEAD(&trigger->led_cdevs); in led_trigger_register()
165 list_add_tail(&trigger->next_trig, &trigger_list); in led_trigger_register()
172 if (!led_cdev->trigger && led_cdev->default_trigger && in led_trigger_register()
173 !strcmp(led_cdev->default_trigger, trigger->name)) in led_trigger_register()
174 led_trigger_set(led_cdev, trigger); in led_trigger_register()
183 void led_trigger_unregister(struct led_trigger *trigger) in led_trigger_unregister() argument
189 list_del(&trigger->next_trig); in led_trigger_unregister()
196 if (led_cdev->trigger == trigger) in led_trigger_unregister()
206 void led_trigger_event(struct led_trigger *trigger, in led_trigger_event() argument
211 if (!trigger) in led_trigger_event()
214 read_lock(&trigger->leddev_list_lock); in led_trigger_event()
215 list_for_each(entry, &trigger->led_cdevs) { in led_trigger_event()
221 read_unlock(&trigger->leddev_list_lock); in led_trigger_event()
227 struct led_trigger *trigger; in led_trigger_register_simple() local
230 trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL); in led_trigger_register_simple()
232 if (trigger) { in led_trigger_register_simple()
233 trigger->name = name; in led_trigger_register_simple()
234 err = led_trigger_register(trigger); in led_trigger_register_simple()
242 *tp = trigger; in led_trigger_register_simple()
246 void led_trigger_unregister_simple(struct led_trigger *trigger) in led_trigger_unregister_simple() argument
248 if (trigger) in led_trigger_unregister_simple()
249 led_trigger_unregister(trigger); in led_trigger_unregister_simple()
250 kfree(trigger); in led_trigger_unregister_simple()