• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/leds/

Lines Matching defs:trigger

82 	if (!led_cdev->trigger)
88 if (led_cdev->trigger && !strcmp(led_cdev->trigger->name,
103 void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
107 /* Remove any existing trigger */
108 if (led_cdev->trigger) {
109 write_lock_irqsave(&led_cdev->trigger->leddev_list_lock, flags);
111 write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock,
113 if (led_cdev->trigger->deactivate)
114 led_cdev->trigger->deactivate(led_cdev);
115 led_cdev->trigger = NULL;
118 if (trigger) {
119 write_lock_irqsave(&trigger->leddev_list_lock, flags);
120 list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
121 write_unlock_irqrestore(&trigger->leddev_list_lock, flags);
122 led_cdev->trigger = trigger;
123 if (trigger->activate)
124 trigger->activate(led_cdev);
157 int led_trigger_register(struct led_trigger *trigger)
162 rwlock_init(&trigger->leddev_list_lock);
163 INIT_LIST_HEAD(&trigger->led_cdevs);
166 /* Make sure the trigger's name isn't already in use */
168 if (!strcmp(trig->name, trigger->name)) {
174 list_add_tail(&trigger->next_trig, &trigger_list);
177 /* Register with any LEDs that have this as a default trigger */
181 if (!led_cdev->trigger && led_cdev->default_trigger &&
182 !strcmp(led_cdev->default_trigger, trigger->name))
183 led_trigger_set(led_cdev, trigger);
192 void led_trigger_unregister(struct led_trigger *trigger)
198 list_del(&trigger->next_trig);
201 /* Remove anyone actively using this trigger */
205 if (led_cdev->trigger == trigger)
215 void led_trigger_event(struct led_trigger *trigger,
220 if (!trigger)
223 read_lock(&trigger->leddev_list_lock);
224 list_for_each(entry, &trigger->led_cdevs) {
230 read_unlock(&trigger->leddev_list_lock);
236 struct led_trigger *trigger;
239 trigger = kzalloc(sizeof(struct led_trigger), GFP_KERNEL);
241 if (trigger) {
242 trigger->name = name;
243 err = led_trigger_register(trigger);
245 printk(KERN_WARNING "LED trigger %s failed to register"
248 printk(KERN_WARNING "LED trigger %s failed to register"
251 *tp = trigger;
255 void led_trigger_unregister_simple(struct led_trigger *trigger)
257 if (trigger)
258 led_trigger_unregister(trigger);
259 kfree(trigger);