Searched refs:led (Results 1 - 200 of 462) sorted by relevance

123

/linux-4.1.27/drivers/leds/
H A Dleds-wm8350.c92 static void wm8350_led_enable(struct wm8350_led *led) wm8350_led_enable() argument
96 if (led->enabled) wm8350_led_enable()
99 ret = regulator_enable(led->isink); wm8350_led_enable()
101 dev_err(led->cdev.dev, "Failed to enable ISINK: %d\n", ret); wm8350_led_enable()
105 ret = regulator_enable(led->dcdc); wm8350_led_enable()
107 dev_err(led->cdev.dev, "Failed to enable DCDC: %d\n", ret); wm8350_led_enable()
108 regulator_disable(led->isink); wm8350_led_enable()
112 led->enabled = 1; wm8350_led_enable()
115 static void wm8350_led_disable(struct wm8350_led *led) wm8350_led_disable() argument
119 if (!led->enabled) wm8350_led_disable()
122 ret = regulator_disable(led->dcdc); wm8350_led_disable()
124 dev_err(led->cdev.dev, "Failed to disable DCDC: %d\n", ret); wm8350_led_disable()
128 ret = regulator_disable(led->isink); wm8350_led_disable()
130 dev_err(led->cdev.dev, "Failed to disable ISINK: %d\n", ret); wm8350_led_disable()
131 ret = regulator_enable(led->dcdc); wm8350_led_disable()
133 dev_err(led->cdev.dev, "Failed to reenable DCDC: %d\n", wm8350_led_disable()
138 led->enabled = 0; wm8350_led_disable()
143 struct wm8350_led *led = container_of(work, struct wm8350_led, work); led_work() local
148 mutex_lock(&led->mutex); led_work()
150 spin_lock_irqsave(&led->value_lock, flags); led_work()
152 if (led->value == LED_OFF) { led_work()
153 spin_unlock_irqrestore(&led->value_lock, flags); led_work()
154 wm8350_led_disable(led); led_work()
163 uA = (led->max_uA_index * led->value) / LED_FULL; led_work()
164 spin_unlock_irqrestore(&led->value_lock, flags); led_work()
167 ret = regulator_set_current_limit(led->isink, isink_cur[uA], led_work()
170 dev_err(led->cdev.dev, "Failed to set %duA: %d\n", led_work()
173 wm8350_led_enable(led); led_work()
176 mutex_unlock(&led->mutex); led_work()
182 struct wm8350_led *led = to_wm8350_led(led_cdev); wm8350_led_set() local
185 spin_lock_irqsave(&led->value_lock, flags); wm8350_led_set()
186 led->value = value; wm8350_led_set()
187 schedule_work(&led->work); wm8350_led_set()
188 spin_unlock_irqrestore(&led->value_lock, flags); wm8350_led_set()
193 struct wm8350_led *led = platform_get_drvdata(pdev); wm8350_led_shutdown() local
195 mutex_lock(&led->mutex); wm8350_led_shutdown()
196 led->value = LED_OFF; wm8350_led_shutdown()
197 wm8350_led_disable(led); wm8350_led_shutdown()
198 mutex_unlock(&led->mutex); wm8350_led_shutdown()
204 struct wm8350_led *led; wm8350_led_probe() local
231 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); wm8350_led_probe()
232 if (led == NULL) wm8350_led_probe()
235 led->cdev.brightness_set = wm8350_led_set; wm8350_led_probe()
236 led->cdev.default_trigger = pdata->default_trigger; wm8350_led_probe()
237 led->cdev.name = pdata->name; wm8350_led_probe()
238 led->cdev.flags |= LED_CORE_SUSPENDRESUME; wm8350_led_probe()
239 led->enabled = regulator_is_enabled(isink); wm8350_led_probe()
240 led->isink = isink; wm8350_led_probe()
241 led->dcdc = dcdc; wm8350_led_probe()
246 led->max_uA_index = i; wm8350_led_probe()
253 spin_lock_init(&led->value_lock); wm8350_led_probe()
254 mutex_init(&led->mutex); wm8350_led_probe()
255 INIT_WORK(&led->work, led_work); wm8350_led_probe()
256 led->value = LED_OFF; wm8350_led_probe()
257 platform_set_drvdata(pdev, led); wm8350_led_probe()
259 return led_classdev_register(&pdev->dev, &led->cdev); wm8350_led_probe()
264 struct wm8350_led *led = platform_get_drvdata(pdev); wm8350_led_remove() local
266 led_classdev_unregister(&led->cdev); wm8350_led_remove()
267 flush_work(&led->work); wm8350_led_remove()
268 wm8350_led_disable(led); wm8350_led_remove()
274 .name = "wm8350-led",
286 MODULE_ALIAS("platform:wm8350-led");
H A Dleds-bd2802.c77 struct led_state led[2]; member in struct:bd2802_led
112 static inline int bd2802_is_rgb_off(struct bd2802_led *led, enum led_ids id, bd2802_is_rgb_off() argument
117 return !led->led[id].r; bd2802_is_rgb_off()
119 return !led->led[id].g; bd2802_is_rgb_off()
121 return !led->led[id].b; bd2802_is_rgb_off()
123 dev_err(&led->client->dev, "%s: Invalid color\n", __func__); bd2802_is_rgb_off()
128 static inline int bd2802_is_led_off(struct bd2802_led *led, enum led_ids id) bd2802_is_led_off() argument
130 if (led->led[id].r || led->led[id].g || led->led[id].b) bd2802_is_led_off()
136 static inline int bd2802_is_all_off(struct bd2802_led *led) bd2802_is_all_off() argument
141 if (!bd2802_is_led_off(led, i)) bd2802_is_all_off()
175 static void bd2802_update_state(struct bd2802_led *led, enum led_ids id, bd2802_update_state() argument
185 led->led[i].r = led_bit; bd2802_update_state()
188 led->led[i].g = led_bit; bd2802_update_state()
191 led->led[i].b = led_bit; bd2802_update_state()
194 dev_err(&led->client->dev, bd2802_update_state()
204 if (!bd2802_is_led_off(led, id)) bd2802_update_state()
207 if (bd2802_is_all_off(led) && !led->adf_on) { bd2802_update_state()
208 gpio_set_value(led->pdata->reset_gpio, 0); bd2802_update_state()
213 * In this case, other led is turned on, and current led is turned bd2802_update_state()
217 bd2802_write_byte(led->client, BD2802_REG_CONTROL, value); bd2802_update_state()
220 static void bd2802_configure(struct bd2802_led *led) bd2802_configure() argument
222 struct bd2802_led_platform_data *pdata = led->pdata; bd2802_configure()
226 bd2802_write_byte(led->client, reg, pdata->rgb_time); bd2802_configure()
229 bd2802_write_byte(led->client, reg, pdata->rgb_time); bd2802_configure()
232 static void bd2802_reset_cancel(struct bd2802_led *led) bd2802_reset_cancel() argument
234 gpio_set_value(led->pdata->reset_gpio, 1); bd2802_reset_cancel()
236 bd2802_configure(led); bd2802_reset_cancel()
239 static void bd2802_enable(struct bd2802_led *led, enum led_ids id) bd2802_enable() argument
244 other_led_on = !bd2802_is_led_off(led, other_led); bd2802_enable()
250 bd2802_write_byte(led->client, BD2802_REG_CONTROL, value); bd2802_enable()
253 static void bd2802_set_on(struct bd2802_led *led, enum led_ids id, bd2802_set_on() argument
258 if (bd2802_is_all_off(led) && !led->adf_on) bd2802_set_on()
259 bd2802_reset_cancel(led); bd2802_set_on()
262 bd2802_write_byte(led->client, reg, led->rgb_current); bd2802_set_on()
264 bd2802_write_byte(led->client, reg, BD2802_CURRENT_000); bd2802_set_on()
266 bd2802_write_byte(led->client, reg, BD2802_PATTERN_FULL); bd2802_set_on()
268 bd2802_enable(led, id); bd2802_set_on()
269 bd2802_update_state(led, id, color, BD2802_ON); bd2802_set_on()
272 static void bd2802_set_blink(struct bd2802_led *led, enum led_ids id, bd2802_set_blink() argument
277 if (bd2802_is_all_off(led) && !led->adf_on) bd2802_set_blink()
278 bd2802_reset_cancel(led); bd2802_set_blink()
281 bd2802_write_byte(led->client, reg, BD2802_CURRENT_000); bd2802_set_blink()
283 bd2802_write_byte(led->client, reg, led->rgb_current); bd2802_set_blink()
285 bd2802_write_byte(led->client, reg, led->wave_pattern); bd2802_set_blink()
287 bd2802_enable(led, id); bd2802_set_blink()
288 bd2802_update_state(led, id, color, BD2802_BLINK); bd2802_set_blink()
291 static void bd2802_turn_on(struct bd2802_led *led, enum led_ids id, bd2802_turn_on() argument
295 dev_err(&led->client->dev, bd2802_turn_on()
301 bd2802_set_blink(led, id, color); bd2802_turn_on()
303 bd2802_set_on(led, id, color); bd2802_turn_on()
306 static void bd2802_turn_off(struct bd2802_led *led, enum led_ids id, bd2802_turn_off() argument
311 if (bd2802_is_rgb_off(led, id, color)) bd2802_turn_off()
315 bd2802_write_byte(led->client, reg, BD2802_CURRENT_000); bd2802_turn_off()
317 bd2802_write_byte(led->client, reg, BD2802_CURRENT_000); bd2802_turn_off()
319 bd2802_update_state(led, id, color, BD2802_OFF); bd2802_turn_off()
326 struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev));\
334 down_write(&led->rwsem); \
335 bd2802_write_byte(led->client, reg_addr, (u8) val); \
336 up_write(&led->rwsem); \
392 static void bd2802_enable_adv_conf(struct bd2802_led *led) bd2802_enable_adv_conf() argument
397 ret = device_create_file(&led->client->dev, bd2802_enable_adv_conf()
400 dev_err(&led->client->dev, "failed: sysfs file %s\n", bd2802_enable_adv_conf()
406 if (bd2802_is_all_off(led)) bd2802_enable_adv_conf()
407 bd2802_reset_cancel(led); bd2802_enable_adv_conf()
409 led->adf_on = 1; bd2802_enable_adv_conf()
415 device_remove_file(&led->client->dev, bd2802_enable_adv_conf()
419 static void bd2802_disable_adv_conf(struct bd2802_led *led) bd2802_disable_adv_conf() argument
424 device_remove_file(&led->client->dev, bd2802_disable_adv_conf()
427 if (bd2802_is_all_off(led)) bd2802_disable_adv_conf()
428 gpio_set_value(led->pdata->reset_gpio, 0); bd2802_disable_adv_conf()
430 led->adf_on = 0; bd2802_disable_adv_conf()
436 struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev)); bd2802_show_adv_conf() local
439 down_read(&led->rwsem); bd2802_show_adv_conf()
440 if (led->adf_on) bd2802_show_adv_conf()
444 up_read(&led->rwsem); bd2802_show_adv_conf()
452 struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev)); bd2802_store_adv_conf() local
457 down_write(&led->rwsem); bd2802_store_adv_conf()
458 if (!led->adf_on && !strncmp(buf, "on", 2)) bd2802_store_adv_conf()
459 bd2802_enable_adv_conf(led); bd2802_store_adv_conf()
460 else if (led->adf_on && !strncmp(buf, "off", 3)) bd2802_store_adv_conf()
461 bd2802_disable_adv_conf(led); bd2802_store_adv_conf()
462 up_write(&led->rwsem); bd2802_store_adv_conf()
480 struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev));\
482 down_read(&led->rwsem); \
483 ret = sprintf(buf, "0x%02x\n", led->attr_name); \
484 up_read(&led->rwsem); \
490 struct bd2802_led *led = i2c_get_clientdata(to_i2c_client(dev));\
498 down_write(&led->rwsem); \
499 led->attr_name = val; \
500 up_write(&led->rwsem); \
523 struct bd2802_led *led = container_of(work, struct bd2802_led, work); bd2802_led_work() local
525 if (led->state) bd2802_led_work()
526 bd2802_turn_on(led, led->led_id, led->color, led->state); bd2802_led_work()
528 bd2802_turn_off(led, led->led_id, led->color); bd2802_led_work()
535 struct bd2802_led *led = \
537 led->led_id = id; \
538 led->color = clr; \
540 led->state = BD2802_OFF; \
542 led->state = BD2802_ON; \
543 schedule_work(&led->work); \
548 struct bd2802_led *led = \
552 led->led_id = id; \
553 led->color = clr; \
554 led->state = BD2802_BLINK; \
555 schedule_work(&led->work); \
566 static int bd2802_register_led_classdev(struct bd2802_led *led) bd2802_register_led_classdev() argument
570 INIT_WORK(&led->work, bd2802_led_work); bd2802_register_led_classdev()
572 led->cdev_led1r.name = "led1_R"; bd2802_register_led_classdev()
573 led->cdev_led1r.brightness = LED_OFF; bd2802_register_led_classdev()
574 led->cdev_led1r.brightness_set = bd2802_set_led1r_brightness; bd2802_register_led_classdev()
575 led->cdev_led1r.blink_set = bd2802_set_led1r_blink; bd2802_register_led_classdev()
577 ret = led_classdev_register(&led->client->dev, &led->cdev_led1r); bd2802_register_led_classdev()
579 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
580 led->cdev_led1r.name); bd2802_register_led_classdev()
584 led->cdev_led1g.name = "led1_G"; bd2802_register_led_classdev()
585 led->cdev_led1g.brightness = LED_OFF; bd2802_register_led_classdev()
586 led->cdev_led1g.brightness_set = bd2802_set_led1g_brightness; bd2802_register_led_classdev()
587 led->cdev_led1g.blink_set = bd2802_set_led1g_blink; bd2802_register_led_classdev()
589 ret = led_classdev_register(&led->client->dev, &led->cdev_led1g); bd2802_register_led_classdev()
591 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
592 led->cdev_led1g.name); bd2802_register_led_classdev()
596 led->cdev_led1b.name = "led1_B"; bd2802_register_led_classdev()
597 led->cdev_led1b.brightness = LED_OFF; bd2802_register_led_classdev()
598 led->cdev_led1b.brightness_set = bd2802_set_led1b_brightness; bd2802_register_led_classdev()
599 led->cdev_led1b.blink_set = bd2802_set_led1b_blink; bd2802_register_led_classdev()
601 ret = led_classdev_register(&led->client->dev, &led->cdev_led1b); bd2802_register_led_classdev()
603 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
604 led->cdev_led1b.name); bd2802_register_led_classdev()
608 led->cdev_led2r.name = "led2_R"; bd2802_register_led_classdev()
609 led->cdev_led2r.brightness = LED_OFF; bd2802_register_led_classdev()
610 led->cdev_led2r.brightness_set = bd2802_set_led2r_brightness; bd2802_register_led_classdev()
611 led->cdev_led2r.blink_set = bd2802_set_led2r_blink; bd2802_register_led_classdev()
613 ret = led_classdev_register(&led->client->dev, &led->cdev_led2r); bd2802_register_led_classdev()
615 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
616 led->cdev_led2r.name); bd2802_register_led_classdev()
620 led->cdev_led2g.name = "led2_G"; bd2802_register_led_classdev()
621 led->cdev_led2g.brightness = LED_OFF; bd2802_register_led_classdev()
622 led->cdev_led2g.brightness_set = bd2802_set_led2g_brightness; bd2802_register_led_classdev()
623 led->cdev_led2g.blink_set = bd2802_set_led2g_blink; bd2802_register_led_classdev()
625 ret = led_classdev_register(&led->client->dev, &led->cdev_led2g); bd2802_register_led_classdev()
627 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
628 led->cdev_led2g.name); bd2802_register_led_classdev()
632 led->cdev_led2b.name = "led2_B"; bd2802_register_led_classdev()
633 led->cdev_led2b.brightness = LED_OFF; bd2802_register_led_classdev()
634 led->cdev_led2b.brightness_set = bd2802_set_led2b_brightness; bd2802_register_led_classdev()
635 led->cdev_led2b.blink_set = bd2802_set_led2b_blink; bd2802_register_led_classdev()
636 led->cdev_led2b.flags |= LED_CORE_SUSPENDRESUME; bd2802_register_led_classdev()
638 ret = led_classdev_register(&led->client->dev, &led->cdev_led2b); bd2802_register_led_classdev()
640 dev_err(&led->client->dev, "couldn't register LED %s\n", bd2802_register_led_classdev()
641 led->cdev_led2b.name); bd2802_register_led_classdev()
648 led_classdev_unregister(&led->cdev_led2g); bd2802_register_led_classdev()
650 led_classdev_unregister(&led->cdev_led2r); bd2802_register_led_classdev()
652 led_classdev_unregister(&led->cdev_led1b); bd2802_register_led_classdev()
654 led_classdev_unregister(&led->cdev_led1g); bd2802_register_led_classdev()
656 led_classdev_unregister(&led->cdev_led1r); bd2802_register_led_classdev()
662 static void bd2802_unregister_led_classdev(struct bd2802_led *led) bd2802_unregister_led_classdev() argument
664 cancel_work_sync(&led->work); bd2802_unregister_led_classdev()
665 led_classdev_unregister(&led->cdev_led2b); bd2802_unregister_led_classdev()
666 led_classdev_unregister(&led->cdev_led2g); bd2802_unregister_led_classdev()
667 led_classdev_unregister(&led->cdev_led2r); bd2802_unregister_led_classdev()
668 led_classdev_unregister(&led->cdev_led1b); bd2802_unregister_led_classdev()
669 led_classdev_unregister(&led->cdev_led1g); bd2802_unregister_led_classdev()
670 led_classdev_unregister(&led->cdev_led1r); bd2802_unregister_led_classdev()
676 struct bd2802_led *led; bd2802_probe() local
680 led = devm_kzalloc(&client->dev, sizeof(struct bd2802_led), GFP_KERNEL); bd2802_probe()
681 if (!led) bd2802_probe()
684 led->client = client; bd2802_probe()
685 pdata = led->pdata = dev_get_platdata(&client->dev); bd2802_probe()
686 i2c_set_clientdata(client, led); bd2802_probe()
703 gpio_set_value(led->pdata->reset_gpio, 0); bd2802_probe()
706 led->wave_pattern = BD2802_PATTERN_HALF; bd2802_probe()
707 led->rgb_current = BD2802_CURRENT_032; bd2802_probe()
709 init_rwsem(&led->rwsem); bd2802_probe()
712 ret = device_create_file(&led->client->dev, bd2802_probe()
715 dev_err(&led->client->dev, "failed: sysfs file %s\n", bd2802_probe()
721 ret = bd2802_register_led_classdev(led); bd2802_probe()
729 device_remove_file(&led->client->dev, bd2802_attributes[i]); bd2802_probe()
735 struct bd2802_led *led = i2c_get_clientdata(client); bd2802_remove() local
738 gpio_set_value(led->pdata->reset_gpio, 0); bd2802_remove()
739 bd2802_unregister_led_classdev(led); bd2802_remove()
740 if (led->adf_on) bd2802_remove()
741 bd2802_disable_adv_conf(led); bd2802_remove()
743 device_remove_file(&led->client->dev, bd2802_attributes[i]); bd2802_remove()
749 static void bd2802_restore_state(struct bd2802_led *led) bd2802_restore_state() argument
754 if (led->led[i].r) bd2802_restore_state()
755 bd2802_turn_on(led, i, RED, led->led[i].r); bd2802_restore_state()
756 if (led->led[i].g) bd2802_restore_state()
757 bd2802_turn_on(led, i, GREEN, led->led[i].g); bd2802_restore_state()
758 if (led->led[i].b) bd2802_restore_state()
759 bd2802_turn_on(led, i, BLUE, led->led[i].b); bd2802_restore_state()
766 struct bd2802_led *led = i2c_get_clientdata(client); bd2802_suspend() local
768 gpio_set_value(led->pdata->reset_gpio, 0); bd2802_suspend()
776 struct bd2802_led *led = i2c_get_clientdata(client); bd2802_resume() local
778 if (!bd2802_is_all_off(led) || led->adf_on) { bd2802_resume()
779 bd2802_reset_cancel(led); bd2802_resume()
780 bd2802_restore_state(led); bd2802_resume()
H A Dleds-da903x.c48 struct da903x_led *led = container_of(work, struct da903x_led, work); da903x_led_work() local
52 switch (led->id) { da903x_led_work()
58 offset = DA9030_LED_OFFSET(led->id); da903x_led_work()
59 val = led->flags & ~0x87; da903x_led_work()
60 val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ da903x_led_work()
61 val |= (0x7 - (led->new_brightness >> 5)) & 0x7; /* PWM<2:0> */ da903x_led_work()
62 da903x_write(led->master, DA9030_LED1_CONTROL + offset, val); da903x_led_work()
65 val = led->flags & ~0x80; da903x_led_work()
66 val |= (led->new_brightness) ? 0x80 : 0; /* EN bit */ da903x_led_work()
67 da903x_write(led->master, DA9030_MISC_CONTROL_A, val); da903x_led_work()
71 offset = DA9034_LED_OFFSET(led->id); da903x_led_work()
72 val = (led->new_brightness * 0x5f / LED_FULL) & 0x7f; da903x_led_work()
73 val |= (led->flags & DA9034_LED_RAMP) ? 0x80 : 0; da903x_led_work()
74 da903x_write(led->master, DA9034_LED1_CONTROL + offset, val); da903x_led_work()
77 val = led->new_brightness & 0xfe; da903x_led_work()
78 da903x_write(led->master, DA9034_VIBRA, val); da903x_led_work()
86 struct da903x_led *led; da903x_led_set() local
88 led = container_of(led_cdev, struct da903x_led, cdev); da903x_led_set()
89 led->new_brightness = value; da903x_led_set()
90 schedule_work(&led->work); da903x_led_set()
96 struct da903x_led *led; da903x_led_probe() local
110 led = devm_kzalloc(&pdev->dev, sizeof(struct da903x_led), GFP_KERNEL); da903x_led_probe()
111 if (!led) da903x_led_probe()
114 led->cdev.name = pdata->name; da903x_led_probe()
115 led->cdev.default_trigger = pdata->default_trigger; da903x_led_probe()
116 led->cdev.brightness_set = da903x_led_set; da903x_led_probe()
117 led->cdev.brightness = LED_OFF; da903x_led_probe()
119 led->id = id; da903x_led_probe()
120 led->flags = pdata->flags; da903x_led_probe()
121 led->master = pdev->dev.parent; da903x_led_probe()
122 led->new_brightness = LED_OFF; da903x_led_probe()
124 INIT_WORK(&led->work, da903x_led_work); da903x_led_probe()
126 ret = led_classdev_register(led->master, &led->cdev); da903x_led_probe()
132 platform_set_drvdata(pdev, led); da903x_led_probe()
138 struct da903x_led *led = platform_get_drvdata(pdev); da903x_led_remove() local
140 led_classdev_unregister(&led->cdev); da903x_led_remove()
146 .name = "da903x-led",
158 MODULE_ALIAS("platform:da903x-led");
H A Dleds-regulator.c65 static void regulator_led_enable(struct regulator_led *led) regulator_led_enable() argument
69 if (led->enabled) regulator_led_enable()
72 ret = regulator_enable(led->vcc); regulator_led_enable()
74 dev_err(led->cdev.dev, "Failed to enable vcc: %d\n", ret); regulator_led_enable()
78 led->enabled = 1; regulator_led_enable()
81 static void regulator_led_disable(struct regulator_led *led) regulator_led_disable() argument
85 if (!led->enabled) regulator_led_disable()
88 ret = regulator_disable(led->vcc); regulator_led_disable()
90 dev_err(led->cdev.dev, "Failed to disable vcc: %d\n", ret); regulator_led_disable()
94 led->enabled = 0; regulator_led_disable()
97 static void regulator_led_set_value(struct regulator_led *led) regulator_led_set_value() argument
102 mutex_lock(&led->mutex); regulator_led_set_value()
104 if (led->value == LED_OFF) { regulator_led_set_value()
105 regulator_led_disable(led); regulator_led_set_value()
109 if (led->cdev.max_brightness > 1) { regulator_led_set_value()
110 voltage = led_regulator_get_voltage(led->vcc, led->value); regulator_led_set_value()
111 dev_dbg(led->cdev.dev, "brightness: %d voltage: %d\n", regulator_led_set_value()
112 led->value, voltage); regulator_led_set_value()
114 ret = regulator_set_voltage(led->vcc, voltage, voltage); regulator_led_set_value()
116 dev_err(led->cdev.dev, "Failed to set voltage %d: %d\n", regulator_led_set_value()
120 regulator_led_enable(led); regulator_led_set_value()
123 mutex_unlock(&led->mutex); regulator_led_set_value()
128 struct regulator_led *led; led_work() local
130 led = container_of(work, struct regulator_led, work); led_work()
131 regulator_led_set_value(led); led_work()
137 struct regulator_led *led = to_regulator_led(led_cdev); regulator_led_brightness_set() local
139 led->value = value; regulator_led_brightness_set()
140 schedule_work(&led->work); regulator_led_brightness_set()
147 struct regulator_led *led; regulator_led_probe() local
162 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); regulator_led_probe()
163 if (led == NULL) regulator_led_probe()
166 led->cdev.max_brightness = led_regulator_get_max_brightness(vcc); regulator_led_probe()
167 if (pdata->brightness > led->cdev.max_brightness) { regulator_led_probe()
172 led->value = pdata->brightness; regulator_led_probe()
174 led->cdev.brightness_set = regulator_led_brightness_set; regulator_led_probe()
175 led->cdev.name = pdata->name; regulator_led_probe()
176 led->cdev.flags |= LED_CORE_SUSPENDRESUME; regulator_led_probe()
177 led->vcc = vcc; regulator_led_probe()
180 if (regulator_is_enabled(led->vcc)) regulator_led_probe()
181 led->enabled = 1; regulator_led_probe()
183 mutex_init(&led->mutex); regulator_led_probe()
184 INIT_WORK(&led->work, led_work); regulator_led_probe()
186 platform_set_drvdata(pdev, led); regulator_led_probe()
188 ret = led_classdev_register(&pdev->dev, &led->cdev); regulator_led_probe()
190 cancel_work_sync(&led->work); regulator_led_probe()
195 led->cdev.brightness = led->value; regulator_led_probe()
197 /* Set the default led status */ regulator_led_probe()
198 regulator_led_set_value(led); regulator_led_probe()
205 struct regulator_led *led = platform_get_drvdata(pdev); regulator_led_remove() local
207 led_classdev_unregister(&led->cdev); regulator_led_remove()
208 cancel_work_sync(&led->work); regulator_led_remove()
209 regulator_led_disable(led); regulator_led_remove()
H A Dleds-dac124s085.c43 struct dac124s085_led *led = container_of(work, struct dac124s085_led, dac124s085_led_work() local
47 mutex_lock(&led->mutex); dac124s085_led_work()
48 word = cpu_to_le16(((led->id) << 14) | REG_WRITE_UPDATE | dac124s085_led_work()
49 (led->brightness & 0xfff)); dac124s085_led_work()
50 spi_write(led->spi, (const u8 *)&word, sizeof(word)); dac124s085_led_work()
51 mutex_unlock(&led->mutex); dac124s085_led_work()
57 struct dac124s085_led *led = container_of(ldev, struct dac124s085_led, dac124s085_set_brightness() local
60 spin_lock(&led->lock); dac124s085_set_brightness()
61 led->brightness = brightness; dac124s085_set_brightness()
62 schedule_work(&led->work); dac124s085_set_brightness()
63 spin_unlock(&led->lock); dac124s085_set_brightness()
69 struct dac124s085_led *led; dac124s085_probe() local
79 led = dac->leds + i; dac124s085_probe()
80 led->id = i; dac124s085_probe()
81 led->brightness = LED_OFF; dac124s085_probe()
82 led->spi = spi; dac124s085_probe()
83 snprintf(led->name, sizeof(led->name), "dac124s085-%d", i); dac124s085_probe()
84 spin_lock_init(&led->lock); dac124s085_probe()
85 INIT_WORK(&led->work, dac124s085_led_work); dac124s085_probe()
86 mutex_init(&led->mutex); dac124s085_probe()
87 led->ldev.name = led->name; dac124s085_probe()
88 led->ldev.brightness = LED_OFF; dac124s085_probe()
89 led->ldev.max_brightness = 0xfff; dac124s085_probe()
90 led->ldev.brightness_set = dac124s085_set_brightness; dac124s085_probe()
91 ret = led_classdev_register(&spi->dev, &led->ldev); dac124s085_probe()
H A Dleds-max8997.c52 static void max8997_led_set_mode(struct max8997_led *led, max8997_led_set_mode() argument
56 struct i2c_client *client = led->iodev->i2c; max8997_led_set_mode()
62 val = led->id ? max8997_led_set_mode()
64 led->cdev.max_brightness = MAX8997_LED_FLASH_MAX_BRIGHTNESS; max8997_led_set_mode()
68 val = led->id ? max8997_led_set_mode()
70 led->cdev.max_brightness = MAX8997_LED_MOVIE_MAX_BRIGHTNESS; max8997_led_set_mode()
75 val = led->id ? max8997_led_set_mode()
77 led->cdev.max_brightness = MAX8997_LED_FLASH_MAX_BRIGHTNESS; max8997_led_set_mode()
82 val = led->id ? max8997_led_set_mode()
84 led->cdev.max_brightness = MAX8997_LED_MOVIE_MAX_BRIGHTNESS; max8997_led_set_mode()
87 led->cdev.max_brightness = MAX8997_LED_NONE_MAX_BRIGHTNESS; max8997_led_set_mode()
95 dev_err(led->iodev->dev, max8997_led_set_mode()
99 led->led_mode = mode; max8997_led_set_mode()
102 static void max8997_led_enable(struct max8997_led *led, bool enable) max8997_led_enable() argument
105 struct i2c_client *client = led->iodev->i2c; max8997_led_enable()
108 if (led->enabled == enable) max8997_led_enable()
115 dev_err(led->iodev->dev, max8997_led_enable()
118 led->enabled = enable; max8997_led_enable()
121 static void max8997_led_set_current(struct max8997_led *led, max8997_led_set_current() argument
125 struct i2c_client *client = led->iodev->i2c; max8997_led_set_current()
128 switch (led->led_mode) { max8997_led_set_current()
133 reg = led->id ? MAX8997_REG_FLASH2_CUR : MAX8997_REG_FLASH1_CUR; max8997_led_set_current()
148 dev_err(led->iodev->dev, max8997_led_set_current()
156 struct max8997_led *led = max8997_led_brightness_set() local
160 max8997_led_set_current(led, value); max8997_led_brightness_set()
161 max8997_led_enable(led, true); max8997_led_brightness_set()
163 max8997_led_set_current(led, value); max8997_led_brightness_set()
164 max8997_led_enable(led, false); max8997_led_brightness_set()
172 struct max8997_led *led = max8997_led_show_mode() local
176 mutex_lock(&led->mutex); max8997_led_show_mode()
178 switch (led->led_mode) { max8997_led_show_mode()
196 mutex_unlock(&led->mutex); max8997_led_show_mode()
206 struct max8997_led *led = max8997_led_store_mode() local
210 mutex_lock(&led->mutex); max8997_led_store_mode()
223 max8997_led_set_mode(led, mode); max8997_led_store_mode()
225 mutex_unlock(&led->mutex); max8997_led_store_mode()
242 struct max8997_led *led; max8997_led_probe() local
251 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); max8997_led_probe()
252 if (led == NULL) max8997_led_probe()
255 led->id = pdev->id; max8997_led_probe()
256 snprintf(name, sizeof(name), "max8997-led%d", pdev->id); max8997_led_probe()
258 led->cdev.name = name; max8997_led_probe()
259 led->cdev.brightness_set = max8997_led_brightness_set; max8997_led_probe()
260 led->cdev.flags |= LED_CORE_SUSPENDRESUME; max8997_led_probe()
261 led->cdev.brightness = 0; max8997_led_probe()
262 led->cdev.groups = max8997_groups; max8997_led_probe()
263 led->iodev = iodev; max8997_led_probe()
269 mode = pdata->led_pdata->mode[led->id]; max8997_led_probe()
270 brightness = pdata->led_pdata->brightness[led->id]; max8997_led_probe()
272 max8997_led_set_mode(led, pdata->led_pdata->mode[led->id]); max8997_led_probe()
274 if (brightness > led->cdev.max_brightness) max8997_led_probe()
275 brightness = led->cdev.max_brightness; max8997_led_probe()
276 max8997_led_set_current(led, brightness); max8997_led_probe()
277 led->cdev.brightness = brightness; max8997_led_probe()
279 max8997_led_set_mode(led, MAX8997_NONE); max8997_led_probe()
280 max8997_led_set_current(led, 0); max8997_led_probe()
283 mutex_init(&led->mutex); max8997_led_probe()
285 platform_set_drvdata(pdev, led); max8997_led_probe()
287 ret = led_classdev_register(&pdev->dev, &led->cdev); max8997_led_probe()
296 struct max8997_led *led = platform_get_drvdata(pdev); max8997_led_remove() local
298 led_classdev_unregister(&led->cdev); max8997_led_remove()
305 .name = "max8997-led",
316 MODULE_ALIAS("platform:max8997-led");
H A Dleds-versatile.c43 struct versatile_led *led = container_of(cdev, versatile_led_set() local
45 u32 reg = readl(led->base); versatile_led_set()
48 reg |= led->mask; versatile_led_set()
50 reg &= ~led->mask; versatile_led_set()
51 writel(reg, led->base); versatile_led_set()
56 struct versatile_led *led = container_of(cdev, versatile_led_get() local
58 u32 reg = readl(led->base); versatile_led_get()
60 return (reg & led->mask) ? LED_FULL : LED_OFF; versatile_led_get()
77 struct versatile_led *led; versatile_leds_probe() local
79 led = kzalloc(sizeof(*led), GFP_KERNEL); versatile_leds_probe()
80 if (!led) versatile_leds_probe()
83 led->base = base; versatile_leds_probe()
84 led->cdev.name = versatile_leds[i].name; versatile_leds_probe()
85 led->cdev.brightness_set = versatile_led_set; versatile_leds_probe()
86 led->cdev.brightness_get = versatile_led_get; versatile_leds_probe()
87 led->cdev.default_trigger = versatile_leds[i].trigger; versatile_leds_probe()
88 led->mask = BIT(i); versatile_leds_probe()
90 if (led_classdev_register(NULL, &led->cdev) < 0) { versatile_leds_probe()
91 kfree(led); versatile_leds_probe()
H A Dleds-lp8860.c96 * @led_dev - led class device pointer
150 static int lp8860_unlock_eeprom(struct lp8860_led *led, int lock) lp8860_unlock_eeprom() argument
154 mutex_lock(&led->lock); lp8860_unlock_eeprom()
157 ret = regmap_write(led->regmap, lp8860_unlock_eeprom()
161 dev_err(&led->client->dev, "EEPROM Unlock failed\n"); lp8860_unlock_eeprom()
165 ret = regmap_write(led->regmap, lp8860_unlock_eeprom()
169 dev_err(&led->client->dev, "EEPROM Unlock failed\n"); lp8860_unlock_eeprom()
172 ret = regmap_write(led->regmap, lp8860_unlock_eeprom()
176 dev_err(&led->client->dev, "EEPROM Unlock failed\n"); lp8860_unlock_eeprom()
180 ret = regmap_write(led->regmap, lp8860_unlock_eeprom()
186 mutex_unlock(&led->lock); lp8860_unlock_eeprom()
190 static int lp8860_fault_check(struct lp8860_led *led) lp8860_fault_check() argument
195 ret = regmap_read(led->regmap, LP8860_LED_FAULT, &read_buf); lp8860_fault_check()
201 ret = regmap_read(led->regmap, LP8860_FAULT, &read_buf); lp8860_fault_check()
209 ret = regmap_write(led->regmap, LP8860_FAULT_CLEAR, lp8860_fault_check()
217 struct lp8860_led *led = container_of(work, struct lp8860_led, work); lp8860_led_brightness_work() local
219 int disp_brightness = led->brightness * 255; lp8860_led_brightness_work()
221 mutex_lock(&led->lock); lp8860_led_brightness_work()
223 ret = lp8860_fault_check(led); lp8860_led_brightness_work()
225 dev_err(&led->client->dev, "Cannot read/clear faults\n"); lp8860_led_brightness_work()
229 ret = regmap_write(led->regmap, LP8860_DISP_CL1_BRT_MSB, lp8860_led_brightness_work()
232 dev_err(&led->client->dev, "Cannot write CL1 MSB\n"); lp8860_led_brightness_work()
236 ret = regmap_write(led->regmap, LP8860_DISP_CL1_BRT_LSB, lp8860_led_brightness_work()
239 dev_err(&led->client->dev, "Cannot write CL1 LSB\n"); lp8860_led_brightness_work()
243 mutex_unlock(&led->lock); lp8860_led_brightness_work()
249 struct lp8860_led *led = lp8860_brightness_set() local
252 led->brightness = brt_val; lp8860_brightness_set()
253 schedule_work(&led->work); lp8860_brightness_set()
256 static int lp8860_init(struct lp8860_led *led) lp8860_init() argument
261 if (led->enable_gpio) lp8860_init()
262 gpiod_direction_output(led->enable_gpio, 1); lp8860_init()
264 ret = lp8860_fault_check(led); lp8860_init()
268 ret = regmap_read(led->regmap, LP8860_STATUS, &read_buf); lp8860_init()
272 ret = lp8860_unlock_eeprom(led, LP8860_UNLOCK_EEPROM); lp8860_init()
274 dev_err(&led->client->dev, "Failed unlocking EEPROM\n"); lp8860_init()
280 ret = regmap_write(led->eeprom_regmap, lp8860_init()
284 dev_err(&led->client->dev, "Failed writing EEPROM\n"); lp8860_init()
289 ret = lp8860_unlock_eeprom(led, LP8860_LOCK_EEPROM); lp8860_init()
293 ret = regmap_write(led->regmap, lp8860_init()
297 dev_err(&led->client->dev, "Failed programming EEPROM\n"); lp8860_init()
300 if (led->enable_gpio) lp8860_init()
301 gpiod_direction_output(led->enable_gpio, 0); lp8860_init()
377 struct lp8860_led *led; lp8860_probe() local
380 led = devm_kzalloc(&client->dev, sizeof(*led), GFP_KERNEL); lp8860_probe()
381 if (!led) lp8860_probe()
384 led->label = LP8860_DISP_LED_NAME; lp8860_probe()
387 ret = of_property_read_string(np, "label", &led->label); lp8860_probe()
394 led->enable_gpio = devm_gpiod_get_optional(&client->dev, lp8860_probe()
396 if (IS_ERR(led->enable_gpio)) { lp8860_probe()
397 ret = PTR_ERR(led->enable_gpio); lp8860_probe()
402 led->regulator = devm_regulator_get(&client->dev, "vled"); lp8860_probe()
403 if (IS_ERR(led->regulator)) lp8860_probe()
404 led->regulator = NULL; lp8860_probe()
406 led->client = client; lp8860_probe()
407 led->led_dev.name = led->label; lp8860_probe()
408 led->led_dev.max_brightness = LED_FULL; lp8860_probe()
409 led->led_dev.brightness_set = lp8860_brightness_set; lp8860_probe()
411 mutex_init(&led->lock); lp8860_probe()
412 INIT_WORK(&led->work, lp8860_led_brightness_work); lp8860_probe()
414 i2c_set_clientdata(client, led); lp8860_probe()
416 led->regmap = devm_regmap_init_i2c(client, &lp8860_regmap_config); lp8860_probe()
417 if (IS_ERR(led->regmap)) { lp8860_probe()
418 ret = PTR_ERR(led->regmap); lp8860_probe()
424 led->eeprom_regmap = devm_regmap_init_i2c(client, &lp8860_eeprom_regmap_config); lp8860_probe()
425 if (IS_ERR(led->eeprom_regmap)) { lp8860_probe()
426 ret = PTR_ERR(led->eeprom_regmap); lp8860_probe()
432 ret = lp8860_init(led); lp8860_probe()
436 ret = led_classdev_register(&client->dev, &led->led_dev); lp8860_probe()
438 dev_err(&client->dev, "led register err: %d\n", ret); lp8860_probe()
447 struct lp8860_led *led = i2c_get_clientdata(client); lp8860_remove() local
450 led_classdev_unregister(&led->led_dev); lp8860_remove()
451 cancel_work_sync(&led->work); lp8860_remove()
453 if (led->enable_gpio) lp8860_remove()
454 gpiod_direction_output(led->enable_gpio, 0); lp8860_remove()
456 if (led->regulator) { lp8860_remove()
457 ret = regulator_disable(led->regulator); lp8860_remove()
459 dev_err(&led->client->dev, lp8860_remove()
H A Dleds-da9052.c47 static int da9052_set_led_brightness(struct da9052_led *led) da9052_set_led_brightness() argument
52 val = (led->brightness & 0x7f) | DA9052_LED_CONT_DIM; da9052_set_led_brightness()
54 error = da9052_reg_write(led->da9052, led_reg[led->led_index], val); da9052_set_led_brightness()
56 dev_err(led->da9052->dev, "Failed to set led brightness, %d\n", da9052_set_led_brightness()
63 struct da9052_led *led = container_of(work, struct da9052_led, work); da9052_led_work() local
65 da9052_set_led_brightness(led); da9052_led_work()
71 struct da9052_led *led; da9052_led_set() local
73 led = container_of(led_cdev, struct da9052_led, cdev); da9052_led_set()
74 led->brightness = value; da9052_led_set()
75 schedule_work(&led->work); da9052_led_set()
109 struct da9052_led *led = NULL; da9052_led_probe() local
126 led = devm_kzalloc(&pdev->dev, da9052_led_probe()
129 if (!led) { da9052_led_probe()
135 led[i].cdev.name = pled->leds[i].name; da9052_led_probe()
136 led[i].cdev.brightness_set = da9052_led_set; da9052_led_probe()
137 led[i].cdev.brightness = LED_OFF; da9052_led_probe()
138 led[i].cdev.max_brightness = DA9052_MAX_BRIGHTNESS; da9052_led_probe()
139 led[i].brightness = LED_OFF; da9052_led_probe()
140 led[i].led_index = pled->leds[i].flags; da9052_led_probe()
141 led[i].da9052 = dev_get_drvdata(pdev->dev.parent); da9052_led_probe()
142 INIT_WORK(&led[i].work, da9052_led_work); da9052_led_probe()
144 error = led_classdev_register(pdev->dev.parent, &led[i].cdev); da9052_led_probe()
146 dev_err(&pdev->dev, "Failed to register led %d\n", da9052_led_probe()
147 led[i].led_index); da9052_led_probe()
151 error = da9052_set_led_brightness(&led[i]); da9052_led_probe()
153 dev_err(&pdev->dev, "Unable to init led %d\n", da9052_led_probe()
154 led[i].led_index); da9052_led_probe()
158 error = da9052_configure_leds(led->da9052); da9052_led_probe()
164 platform_set_drvdata(pdev, led); da9052_led_probe()
170 led_classdev_unregister(&led[i].cdev); da9052_led_probe()
171 cancel_work_sync(&led[i].work); da9052_led_probe()
179 struct da9052_led *led = platform_get_drvdata(pdev); da9052_led_remove() local
190 led[i].brightness = 0; da9052_led_remove()
191 da9052_set_led_brightness(&led[i]); da9052_led_remove()
192 led_classdev_unregister(&led[i].cdev); da9052_led_remove()
193 cancel_work_sync(&led[i].work); da9052_led_remove()
H A Dleds-lp8788.c48 static int lp8788_led_init_device(struct lp8788_led *led, lp8788_led_init_device() argument
61 led->isink_num = cfg->num; lp8788_led_init_device()
67 ret = lp8788_update_bits(led->lp, addr, mask, val); lp8788_led_init_device()
76 return lp8788_update_bits(led->lp, addr, mask, val); lp8788_led_init_device()
79 static void lp8788_led_enable(struct lp8788_led *led, lp8788_led_enable() argument
85 if (lp8788_update_bits(led->lp, LP8788_ISINK_CTRL, mask, val)) lp8788_led_enable()
88 led->on = on; lp8788_led_enable()
93 struct lp8788_led *led = container_of(work, struct lp8788_led, work); lp8788_led_work() local
94 enum lp8788_isink_number num = led->isink_num; lp8788_led_work()
96 u8 val = led->brightness; lp8788_led_work()
98 mutex_lock(&led->lock); lp8788_led_work()
104 lp8788_write_byte(led->lp, lp8788_pwm_addr[num], val); lp8788_led_work()
107 mutex_unlock(&led->lock); lp8788_led_work()
112 if (enable != led->on) lp8788_led_work()
113 lp8788_led_enable(led, num, enable); lp8788_led_work()
115 mutex_unlock(&led->lock); lp8788_led_work()
121 struct lp8788_led *led = lp8788_brightness_set() local
124 led->brightness = brt_val; lp8788_brightness_set()
125 schedule_work(&led->work); lp8788_brightness_set()
132 struct lp8788_led *led; lp8788_led_probe() local
136 led = devm_kzalloc(dev, sizeof(struct lp8788_led), GFP_KERNEL); lp8788_led_probe()
137 if (!led) lp8788_led_probe()
140 led->lp = lp; lp8788_led_probe()
141 led->led_dev.max_brightness = MAX_BRIGHTNESS; lp8788_led_probe()
142 led->led_dev.brightness_set = lp8788_brightness_set; lp8788_led_probe()
147 led->led_dev.name = DEFAULT_LED_NAME; lp8788_led_probe()
149 led->led_dev.name = led_pdata->name; lp8788_led_probe()
151 mutex_init(&led->lock); lp8788_led_probe()
152 INIT_WORK(&led->work, lp8788_led_work); lp8788_led_probe()
154 platform_set_drvdata(pdev, led); lp8788_led_probe()
156 ret = lp8788_led_init_device(led, led_pdata); lp8788_led_probe()
158 dev_err(dev, "led init device err: %d\n", ret); lp8788_led_probe()
162 ret = led_classdev_register(dev, &led->led_dev); lp8788_led_probe()
164 dev_err(dev, "led register err: %d\n", ret); lp8788_led_probe()
173 struct lp8788_led *led = platform_get_drvdata(pdev); lp8788_led_remove() local
175 led_classdev_unregister(&led->led_dev); lp8788_led_remove()
176 flush_work(&led->work); lp8788_led_remove()
H A Dleds-wm831x-status.c45 struct wm831x_status *led = container_of(work, struct wm831x_status, wm831x_status_work() local
49 mutex_lock(&led->mutex); wm831x_status_work()
51 led->reg_val &= ~(WM831X_LED_SRC_MASK | WM831X_LED_MODE_MASK | wm831x_status_work()
54 spin_lock_irqsave(&led->value_lock, flags); wm831x_status_work()
56 led->reg_val |= led->src << WM831X_LED_SRC_SHIFT; wm831x_status_work()
57 if (led->blink) { wm831x_status_work()
58 led->reg_val |= 2 << WM831X_LED_MODE_SHIFT; wm831x_status_work()
59 led->reg_val |= led->blink_time << WM831X_LED_DUR_SHIFT; wm831x_status_work()
60 led->reg_val |= led->blink_cyc; wm831x_status_work()
62 if (led->brightness != LED_OFF) wm831x_status_work()
63 led->reg_val |= 1 << WM831X_LED_MODE_SHIFT; wm831x_status_work()
66 spin_unlock_irqrestore(&led->value_lock, flags); wm831x_status_work()
68 wm831x_reg_write(led->wm831x, led->reg, led->reg_val); wm831x_status_work()
70 mutex_unlock(&led->mutex); wm831x_status_work()
76 struct wm831x_status *led = to_wm831x_status(led_cdev); wm831x_status_set() local
79 spin_lock_irqsave(&led->value_lock, flags); wm831x_status_set()
80 led->brightness = value; wm831x_status_set()
82 led->blink = 0; wm831x_status_set()
83 schedule_work(&led->work); wm831x_status_set()
84 spin_unlock_irqrestore(&led->value_lock, flags); wm831x_status_set()
91 struct wm831x_status *led = to_wm831x_status(led_cdev); wm831x_status_blink_set() local
101 spin_lock_irqsave(&led->value_lock, flags); wm831x_status_blink_set()
107 led->blink_time = 0; wm831x_status_blink_set()
110 led->blink_time = 1; wm831x_status_blink_set()
113 led->blink_time = 2; wm831x_status_blink_set()
118 led->blink_time = 3; wm831x_status_blink_set()
128 led->blink_cyc = 0; wm831x_status_blink_set()
131 led->blink_cyc = 1; wm831x_status_blink_set()
134 led->blink_cyc = 2; wm831x_status_blink_set()
137 led->blink_cyc = 3; wm831x_status_blink_set()
146 led->blink = 1; wm831x_status_blink_set()
148 led->blink = 0; wm831x_status_blink_set()
152 schedule_work(&led->work); wm831x_status_blink_set()
154 spin_unlock_irqrestore(&led->value_lock, flags); wm831x_status_blink_set()
170 struct wm831x_status *led = to_wm831x_status(led_cdev); wm831x_status_src_show() local
174 mutex_lock(&led->mutex); wm831x_status_src_show()
177 if (i == led->src) wm831x_status_src_show()
182 mutex_unlock(&led->mutex); wm831x_status_src_show()
194 struct wm831x_status *led = to_wm831x_status(led_cdev); wm831x_status_src_store() local
208 mutex_lock(&led->mutex); wm831x_status_src_store()
210 led->src = i; wm831x_status_src_store()
211 schedule_work(&led->work); wm831x_status_src_store()
213 mutex_unlock(&led->mutex); wm831x_status_src_store()
H A Dleds-mc13783.c45 struct mc13xxx_led *led; member in struct:mc13xxx_leds
60 struct mc13xxx_led *led = container_of(work, struct mc13xxx_led, work); mc13xxx_led_work() local
61 struct mc13xxx_leds *leds = led->leds; mc13xxx_led_work()
64 switch (led->id) { mc13xxx_led_work()
69 shift = 9 + (led->id - MC13783_LED_MD) * 4; mc13xxx_led_work()
80 off = led->id - MC13783_LED_R1; mc13xxx_led_work()
88 reg = (led->id - MC13892_LED_MD) / 2; mc13xxx_led_work()
89 shift = 3 + (led->id - MC13892_LED_MD) * 12; mc13xxx_led_work()
94 off = led->id - MC13892_LED_R; mc13xxx_led_work()
102 shift = 3 + (led->id - MC34708_LED_R) * 12; mc13xxx_led_work()
109 mc13xxx_max_brightness(led->id) << shift, mc13xxx_led_work()
110 led->new_brightness << shift); mc13xxx_led_work()
116 struct mc13xxx_led *led = mc13xxx_led_set() local
119 led->new_brightness = value; mc13xxx_led_set()
120 schedule_work(&led->work); mc13xxx_led_set()
141 ret = of_property_read_u32_array(parent, "led-control", mc13xxx_led_probe_dt()
149 pdata->led = devm_kzalloc(dev, pdata->num_leds * sizeof(*pdata->led), mc13xxx_led_probe_dt()
151 if (!pdata->led) { mc13xxx_led_probe_dt()
162 pdata->led[i].id = leds->devtype->led_min + tmp; for_each_child_of_node()
165 pdata->led[i].name = str; for_each_child_of_node()
168 pdata->led[i].default_trigger = str; for_each_child_of_node()
223 leds->led = devm_kzalloc(dev, leds->num_leds * sizeof(*leds->led), mc13xxx_led_probe()
225 if (!leds->led) mc13xxx_led_probe()
240 id = pdata->led[i].id; mc13xxx_led_probe()
241 name = pdata->led[i].name; mc13xxx_led_probe()
242 trig = pdata->led[i].default_trigger; mc13xxx_led_probe()
255 leds->led[i].id = id; mc13xxx_led_probe()
256 leds->led[i].leds = leds; mc13xxx_led_probe()
257 leds->led[i].cdev.name = name; mc13xxx_led_probe()
258 leds->led[i].cdev.default_trigger = trig; mc13xxx_led_probe()
259 leds->led[i].cdev.flags = LED_CORE_SUSPENDRESUME; mc13xxx_led_probe()
260 leds->led[i].cdev.brightness_set = mc13xxx_led_set; mc13xxx_led_probe()
261 leds->led[i].cdev.max_brightness = mc13xxx_max_brightness(id); mc13xxx_led_probe()
263 INIT_WORK(&leds->led[i].work, mc13xxx_led_work); mc13xxx_led_probe()
265 ret = led_classdev_register(dev->parent, &leds->led[i].cdev); mc13xxx_led_probe()
274 led_classdev_unregister(&leds->led[i].cdev); mc13xxx_led_probe()
275 cancel_work_sync(&leds->led[i].work); mc13xxx_led_probe()
287 led_classdev_unregister(&leds->led[i].cdev); mc13xxx_led_remove()
288 cancel_work_sync(&leds->led[i].work); mc13xxx_led_remove()
316 { "mc13783-led", (kernel_ulong_t)&mc13783_led_devtype, },
317 { "mc13892-led", (kernel_ulong_t)&mc13892_led_devtype, },
318 { "mc34708-led", (kernel_ulong_t)&mc34708_led_devtype, },
325 .name = "mc13xxx-led",
H A Dleds-lm3533.c67 static inline int lm3533_led_get_ctrlbank_id(struct lm3533_led *led) lm3533_led_get_ctrlbank_id() argument
69 return led->id + 2; lm3533_led_get_ctrlbank_id()
72 static inline u8 lm3533_led_get_lv_reg(struct lm3533_led *led, u8 base) lm3533_led_get_lv_reg() argument
74 return base + led->id; lm3533_led_get_lv_reg()
77 static inline u8 lm3533_led_get_pattern(struct lm3533_led *led) lm3533_led_get_pattern() argument
79 return led->id; lm3533_led_get_pattern()
82 static inline u8 lm3533_led_get_pattern_reg(struct lm3533_led *led, lm3533_led_get_pattern_reg() argument
85 return base + lm3533_led_get_pattern(led) * LM3533_REG_PATTERN_STEP; lm3533_led_get_pattern_reg()
88 static int lm3533_led_pattern_enable(struct lm3533_led *led, int enable) lm3533_led_pattern_enable() argument
96 dev_dbg(led->cdev.dev, "%s - %d\n", __func__, enable); lm3533_led_pattern_enable()
98 mutex_lock(&led->mutex); lm3533_led_pattern_enable()
100 state = test_bit(LM3533_LED_FLAG_PATTERN_ENABLE, &led->flags); lm3533_led_pattern_enable()
104 pattern = lm3533_led_get_pattern(led); lm3533_led_pattern_enable()
112 ret = lm3533_update(led->lm3533, LM3533_REG_PATTERN_ENABLE, val, mask); lm3533_led_pattern_enable()
114 dev_err(led->cdev.dev, "failed to enable pattern %d (%d)\n", lm3533_led_pattern_enable()
119 __change_bit(LM3533_LED_FLAG_PATTERN_ENABLE, &led->flags); lm3533_led_pattern_enable()
121 mutex_unlock(&led->mutex); lm3533_led_pattern_enable()
128 struct lm3533_led *led = container_of(work, struct lm3533_led, work); lm3533_led_work() local
130 dev_dbg(led->cdev.dev, "%s - %u\n", __func__, led->new_brightness); lm3533_led_work()
132 if (led->new_brightness == 0) lm3533_led_work()
133 lm3533_led_pattern_enable(led, 0); /* disable blink */ lm3533_led_work()
135 lm3533_ctrlbank_set_brightness(&led->cb, led->new_brightness); lm3533_led_work()
141 struct lm3533_led *led = to_lm3533_led(cdev); lm3533_led_set() local
143 dev_dbg(led->cdev.dev, "%s - %d\n", __func__, value); lm3533_led_set()
145 led->new_brightness = value; lm3533_led_set()
146 schedule_work(&led->work); lm3533_led_set()
151 struct lm3533_led *led = to_lm3533_led(cdev); lm3533_led_get() local
155 ret = lm3533_ctrlbank_get_brightness(&led->cb, &val); lm3533_led_get()
159 dev_dbg(led->cdev.dev, "%s - %u\n", __func__, val); lm3533_led_get()
261 static u8 lm3533_led_delay_set(struct lm3533_led *led, u8 base, lm3533_led_delay_set() argument
277 dev_dbg(led->cdev.dev, "%s - %lu: %u (0x%02x)\n", __func__, lm3533_led_delay_set()
279 reg = lm3533_led_get_pattern_reg(led, base); lm3533_led_delay_set()
280 ret = lm3533_write(led->lm3533, reg, val); lm3533_led_delay_set()
282 dev_err(led->cdev.dev, "failed to set delay (%02x)\n", reg); lm3533_led_delay_set()
289 static int lm3533_led_delay_on_set(struct lm3533_led *led, unsigned long *t) lm3533_led_delay_on_set() argument
291 return lm3533_led_delay_set(led, LM3533_REG_PATTERN_HIGH_TIME_BASE, t); lm3533_led_delay_on_set()
294 static int lm3533_led_delay_off_set(struct lm3533_led *led, unsigned long *t) lm3533_led_delay_off_set() argument
296 return lm3533_led_delay_set(led, LM3533_REG_PATTERN_LOW_TIME_BASE, t); lm3533_led_delay_off_set()
303 struct lm3533_led *led = to_lm3533_led(cdev); lm3533_led_blink_set() local
306 dev_dbg(led->cdev.dev, "%s - on = %lu, off = %lu\n", __func__, lm3533_led_blink_set()
318 ret = lm3533_led_delay_on_set(led, delay_on); lm3533_led_blink_set()
322 ret = lm3533_led_delay_off_set(led, delay_off); lm3533_led_blink_set()
326 return lm3533_led_pattern_enable(led, 1); lm3533_led_blink_set()
333 struct lm3533_led *led = to_lm3533_led(led_cdev); show_id() local
335 return scnprintf(buf, PAGE_SIZE, "%d\n", led->id); show_id()
355 struct lm3533_led *led = to_lm3533_led(led_cdev); show_risefalltime() local
360 reg = lm3533_led_get_pattern_reg(led, base); show_risefalltime()
361 ret = lm3533_read(led->lm3533, reg, &val); show_risefalltime()
387 struct lm3533_led *led = to_lm3533_led(led_cdev); store_risefalltime() local
395 reg = lm3533_led_get_pattern_reg(led, base); store_risefalltime()
396 ret = lm3533_write(led->lm3533, reg, val); store_risefalltime()
423 struct lm3533_led *led = to_lm3533_led(led_cdev); show_als_channel() local
429 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); show_als_channel()
430 ret = lm3533_read(led->lm3533, reg, &val); show_als_channel()
444 struct lm3533_led *led = to_lm3533_led(led_cdev); store_als_channel() local
458 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); store_als_channel()
462 ret = lm3533_update(led->lm3533, reg, val, mask); store_als_channel()
473 struct lm3533_led *led = to_lm3533_led(led_cdev); show_als_en() local
479 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); show_als_en()
480 ret = lm3533_read(led->lm3533, reg, &val); show_als_en()
494 struct lm3533_led *led = to_lm3533_led(led_cdev); store_als_en() local
504 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); store_als_en()
512 ret = lm3533_update(led->lm3533, reg, val, mask); store_als_en()
523 struct lm3533_led *led = to_lm3533_led(led_cdev); show_linear() local
529 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); show_linear()
530 ret = lm3533_read(led->lm3533, reg, &val); show_linear()
547 struct lm3533_led *led = to_lm3533_led(led_cdev); store_linear() local
557 reg = lm3533_led_get_lv_reg(led, LM3533_REG_CTRLBANK_BCONF_BASE); store_linear()
565 ret = lm3533_update(led->lm3533, reg, val, mask); store_linear()
577 struct lm3533_led *led = to_lm3533_led(led_cdev); show_pwm() local
581 ret = lm3533_ctrlbank_get_pwm(&led->cb, &val); show_pwm()
593 struct lm3533_led *led = to_lm3533_led(led_cdev); store_pwm() local
600 ret = lm3533_ctrlbank_set_pwm(&led->cb, val); store_pwm()
631 struct lm3533_led *led = to_lm3533_led(led_cdev); lm3533_led_attr_is_visible() local
636 if (!led->lm3533->have_als) lm3533_led_attr_is_visible()
653 static int lm3533_led_setup(struct lm3533_led *led, lm3533_led_setup() argument
658 ret = lm3533_ctrlbank_set_max_current(&led->cb, pdata->max_current); lm3533_led_setup()
662 return lm3533_ctrlbank_set_pwm(&led->cb, pdata->pwm); lm3533_led_setup()
669 struct lm3533_led *led; lm3533_led_probe() local
689 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); lm3533_led_probe()
690 if (!led) lm3533_led_probe()
693 led->lm3533 = lm3533; lm3533_led_probe()
694 led->cdev.name = pdata->name; lm3533_led_probe()
695 led->cdev.default_trigger = pdata->default_trigger; lm3533_led_probe()
696 led->cdev.brightness_set = lm3533_led_set; lm3533_led_probe()
697 led->cdev.brightness_get = lm3533_led_get; lm3533_led_probe()
698 led->cdev.blink_set = lm3533_led_blink_set; lm3533_led_probe()
699 led->cdev.brightness = LED_OFF; lm3533_led_probe()
700 led->cdev.groups = lm3533_led_attribute_groups, lm3533_led_probe()
701 led->id = pdev->id; lm3533_led_probe()
703 mutex_init(&led->mutex); lm3533_led_probe()
704 INIT_WORK(&led->work, lm3533_led_work); lm3533_led_probe()
710 led->cb.lm3533 = lm3533; lm3533_led_probe()
711 led->cb.id = lm3533_led_get_ctrlbank_id(led); lm3533_led_probe()
712 led->cb.dev = lm3533->dev; lm3533_led_probe()
714 platform_set_drvdata(pdev, led); lm3533_led_probe()
716 ret = led_classdev_register(pdev->dev.parent, &led->cdev); lm3533_led_probe()
722 led->cb.dev = led->cdev.dev; lm3533_led_probe()
724 ret = lm3533_led_setup(led, pdata); lm3533_led_probe()
728 ret = lm3533_ctrlbank_enable(&led->cb); lm3533_led_probe()
735 led_classdev_unregister(&led->cdev); lm3533_led_probe()
736 flush_work(&led->work); lm3533_led_probe()
743 struct lm3533_led *led = platform_get_drvdata(pdev); lm3533_led_remove() local
747 lm3533_ctrlbank_disable(&led->cb); lm3533_led_remove()
748 led_classdev_unregister(&led->cdev); lm3533_led_remove()
749 flush_work(&led->work); lm3533_led_remove()
757 struct lm3533_led *led = platform_get_drvdata(pdev); lm3533_led_shutdown() local
761 lm3533_ctrlbank_disable(&led->cb); lm3533_led_shutdown()
762 lm3533_led_set(&led->cdev, LED_OFF); /* disable blink */ lm3533_led_shutdown()
763 flush_work(&led->work); lm3533_led_shutdown()
H A Dleds-adp5520.c35 struct adp5520_led *led = container_of(work, struct adp5520_led, work); adp5520_led_work() local
36 adp5520_write(led->master, ADP5520_LED1_CURRENT + led->id - 1, adp5520_led_work()
37 led->new_brightness >> 2); adp5520_led_work()
43 struct adp5520_led *led; adp5520_led_set() local
45 led = container_of(led_cdev, struct adp5520_led, cdev); adp5520_led_set()
46 led->new_brightness = value; adp5520_led_set()
47 schedule_work(&led->work); adp5520_led_set()
50 static int adp5520_led_setup(struct adp5520_led *led) adp5520_led_setup() argument
52 struct device *dev = led->master; adp5520_led_setup()
53 int flags = led->flags; adp5520_led_setup()
56 switch (led->id) { adp5520_led_setup()
106 struct adp5520_led *led, *led_dat; adp5520_led_probe() local
121 led = devm_kzalloc(&pdev->dev, sizeof(*led) * pdata->num_leds, adp5520_led_probe()
123 if (!led) adp5520_led_probe()
134 led_dat = &led[i]; adp5520_led_probe()
168 platform_set_drvdata(pdev, led); adp5520_led_probe()
174 led_classdev_unregister(&led[i].cdev); adp5520_led_probe()
175 cancel_work_sync(&led[i].work); adp5520_led_probe()
185 struct adp5520_led *led; adp5520_led_remove() local
188 led = platform_get_drvdata(pdev); adp5520_led_remove()
190 adp5520_clr_bits(led->master, ADP5520_LED_CONTROL, adp5520_led_remove()
194 led_classdev_unregister(&led[i].cdev); adp5520_led_remove()
195 cancel_work_sync(&led[i].work); adp5520_led_remove()
203 .name = "adp5520-led",
214 MODULE_ALIAS("platform:adp5520-led");
H A Dleds-lp3944.c18 * as a led controller.
23 * - duty cycle: percentage of the period the led is on, from 0 to 100
137 * @duty_cycle: percentage of a period during which a led is ON
165 * Set the led status
167 * @led: a lp3944_led_data structure
173 static int lp3944_led_set(struct lp3944_led_data *led, u8 status) lp3944_led_set() argument
175 struct lp3944_data *data = i2c_get_clientdata(led->client); lp3944_led_set()
176 u8 id = led->id; lp3944_led_set()
181 dev_dbg(&led->client->dev, "%s: %s, status before normalization:%d\n", lp3944_led_set()
182 __func__, led->ldev.name, status); lp3944_led_set()
208 if (led->type == LP3944_LED_TYPE_LED_INVERTED && status < 2) lp3944_led_set()
212 lp3944_reg_read(led->client, reg, &val); lp3944_led_set()
217 dev_dbg(&led->client->dev, "%s: %s, reg:%d id:%d status:%d val:%#x\n", lp3944_led_set()
218 __func__, led->ldev.name, reg, id, status, val); lp3944_led_set()
220 /* set led status */ lp3944_led_set()
221 err = lp3944_reg_write(led->client, reg, val); lp3944_led_set()
231 struct lp3944_led_data *led = ldev_to_led(led_cdev); lp3944_led_set_blink() local
242 * friendly blink pattern for the LED. Let's blink the led lp3944_led_set_blink()
251 /* duty_cycle is the percentage of period during which the led is ON */ lp3944_led_set_blink()
257 if (led->type == LP3944_LED_TYPE_LED_INVERTED) lp3944_led_set_blink()
267 err = lp3944_dim_set_period(led->client, LP3944_DIM0, period); lp3944_led_set_blink()
271 err = lp3944_dim_set_dutycycle(led->client, LP3944_DIM0, duty_cycle); lp3944_led_set_blink()
275 dev_dbg(&led->client->dev, "%s: OK hardware accelerated blink!\n", lp3944_led_set_blink()
278 led->status = LP3944_LED_STATUS_DIM0; lp3944_led_set_blink()
279 schedule_work(&led->work); lp3944_led_set_blink()
287 struct lp3944_led_data *led = ldev_to_led(led_cdev); lp3944_led_set_brightness() local
289 dev_dbg(&led->client->dev, "%s: %s, %d\n", lp3944_led_set_brightness()
292 led->status = !!brightness; lp3944_led_set_brightness()
293 schedule_work(&led->work); lp3944_led_set_brightness()
298 struct lp3944_led_data *led; lp3944_led_work() local
300 led = container_of(work, struct lp3944_led_data, work); lp3944_led_work()
301 lp3944_led_set(led, led->status); lp3944_led_work()
312 struct lp3944_led_data *led = &data->leds[i]; lp3944_configure() local
313 led->client = client; lp3944_configure()
314 led->id = i; lp3944_configure()
320 led->type = pled->type; lp3944_configure()
321 led->status = pled->status; lp3944_configure()
322 led->ldev.name = pled->name; lp3944_configure()
323 led->ldev.max_brightness = 1; lp3944_configure()
324 led->ldev.brightness_set = lp3944_led_set_brightness; lp3944_configure()
325 led->ldev.blink_set = lp3944_led_set_blink; lp3944_configure()
326 led->ldev.flags = LED_CORE_SUSPENDRESUME; lp3944_configure()
328 INIT_WORK(&led->work, lp3944_led_work); lp3944_configure()
329 err = led_classdev_register(&client->dev, &led->ldev); lp3944_configure()
333 led->ldev.name); lp3944_configure()
338 led->ldev.brightness = lp3944_configure()
339 (enum led_brightness) led->status; lp3944_configure()
341 /* Set the default led status */ lp3944_configure()
342 err = lp3944_led_set(led, led->status); lp3944_configure()
346 led->ldev.name, led->status); lp3944_configure()
H A Dleds-pca9532.c30 #define LED_REG(m, led) (PCA9532_REG_OFFSET(m) + 0x5 + (led >> 2))
31 #define LED_NUM(led) (led & 0x3)
144 static void pca9532_setled(struct pca9532_led *led) pca9532_setled() argument
146 struct i2c_client *client = led->client; pca9532_setled()
152 reg = i2c_smbus_read_byte_data(client, LED_REG(maxleds, led->id)); pca9532_setled()
153 /* zero led bits */ pca9532_setled()
154 reg = reg & ~(0x3<<LED_NUM(led->id)*2); pca9532_setled()
156 reg = reg | (led->state << LED_NUM(led->id)*2); pca9532_setled()
157 i2c_smbus_write_byte_data(client, LED_REG(maxleds, led->id), reg); pca9532_setled()
165 struct pca9532_led *led = ldev_to_led(led_cdev); pca9532_set_brightness() local
168 led->state = PCA9532_OFF; pca9532_set_brightness()
170 led->state = PCA9532_ON; pca9532_set_brightness()
172 led->state = PCA9532_PWM0; /* Thecus: hardcode one pwm */ pca9532_set_brightness()
173 err = pca9532_calcpwm(led->client, 0, 0, value); pca9532_set_brightness()
175 return; /* XXX: led api doesn't allow error code? */ pca9532_set_brightness()
177 schedule_work(&led->work); pca9532_set_brightness()
183 struct pca9532_led *led = ldev_to_led(led_cdev); pca9532_set_blink() local
184 struct i2c_client *client = led->client; pca9532_set_blink()
189 /* led subsystem ask us for a blink rate */ pca9532_set_blink()
201 schedule_work(&led->work); pca9532_set_blink()
238 struct pca9532_led *led; pca9532_led_work() local
239 led = container_of(work, struct pca9532_led, work); pca9532_led_work()
240 if (led->state == PCA9532_PWM0) pca9532_led_work()
241 pca9532_setpwm(led->client, 0); pca9532_led_work()
242 pca9532_setled(led); pca9532_led_work()
249 struct pca9532_led *led = &data->leds[offset]; pca9532_gpio_request_pin() local
251 if (led->type == PCA9532_TYPE_GPIO) pca9532_gpio_request_pin()
260 struct pca9532_led *led = &data->leds[offset]; pca9532_gpio_set_value() local
263 led->state = PCA9532_ON; pca9532_gpio_set_value()
265 led->state = PCA9532_OFF; pca9532_gpio_set_value()
267 pca9532_setled(led); pca9532_gpio_set_value()
346 struct pca9532_led *led = &data->leds[i]; pca9532_configure() local
348 led->client = client; pca9532_configure()
349 led->id = i; pca9532_configure()
350 led->type = pled->type; pca9532_configure()
351 switch (led->type) { pca9532_configure()
358 led->state = pled->state; pca9532_configure()
359 led->name = pled->name; pca9532_configure()
360 led->ldev.name = led->name; pca9532_configure()
361 led->ldev.brightness = LED_OFF; pca9532_configure()
362 led->ldev.brightness_set = pca9532_set_brightness; pca9532_configure()
363 led->ldev.blink_set = pca9532_set_blink; pca9532_configure()
364 INIT_WORK(&led->work, pca9532_led_work); pca9532_configure()
365 err = led_classdev_register(&client->dev, &led->ldev); pca9532_configure()
369 led->name); pca9532_configure()
372 pca9532_setled(led); pca9532_configure()
376 led->state = PCA9532_PWM1; pca9532_configure()
377 pca9532_setled(led); pca9532_configure()
H A Dleds-88pm860x.c75 struct pm860x_led *led; pm860x_led_work() local
80 led = container_of(work, struct pm860x_led, work); pm860x_led_work()
81 chip = led->chip; pm860x_led_work()
82 mutex_lock(&led->lock); pm860x_led_work()
83 if ((led->current_brightness == 0) && led->brightness) { pm860x_led_work()
84 led_power_set(chip, led->port, 1); pm860x_led_work()
85 if (led->iset) { pm860x_led_work()
86 pm860x_set_bits(led->i2c, led->reg_control, pm860x_led_work()
87 LED_CURRENT_MASK, led->iset); pm860x_led_work()
89 pm860x_set_bits(led->i2c, led->reg_blink, pm860x_led_work()
91 pm860x_set_bits(led->i2c, PM8606_WLED3B, led->blink_mask, pm860x_led_work()
92 led->blink_mask); pm860x_led_work()
94 pm860x_set_bits(led->i2c, led->reg_control, LED_PWM_MASK, pm860x_led_work()
95 led->brightness); pm860x_led_work()
97 if (led->brightness == 0) { pm860x_led_work()
98 pm860x_bulk_read(led->i2c, led->reg_control, 3, buf); pm860x_led_work()
103 /* unset current since no led is lighting */ pm860x_led_work()
104 pm860x_set_bits(led->i2c, led->reg_control, pm860x_led_work()
106 pm860x_set_bits(led->i2c, PM8606_WLED3B, pm860x_led_work()
107 led->blink_mask, 0); pm860x_led_work()
108 led_power_set(chip, led->port, 0); pm860x_led_work()
111 led->current_brightness = led->brightness; pm860x_led_work()
113 led->reg_control, led->brightness); pm860x_led_work()
114 mutex_unlock(&led->lock); pm860x_led_work()
239 .name = "88pm860x-led",
250 MODULE_ALIAS("platform:88pm860x-led");
H A Dleds-s3c24xx.c45 struct s3c24xx_gpio_led *led = to_gpio(led_cdev); s3c24xx_led_set() local
46 struct s3c24xx_led_platdata *pd = led->pdata; s3c24xx_led_set()
64 struct s3c24xx_gpio_led *led = pdev_to_gpio(dev); s3c24xx_led_remove() local
66 led_classdev_unregister(&led->cdev); s3c24xx_led_remove()
74 struct s3c24xx_gpio_led *led; s3c24xx_led_probe() local
77 led = devm_kzalloc(&dev->dev, sizeof(struct s3c24xx_gpio_led), s3c24xx_led_probe()
79 if (!led) s3c24xx_led_probe()
82 platform_set_drvdata(dev, led); s3c24xx_led_probe()
84 led->cdev.brightness_set = s3c24xx_led_set; s3c24xx_led_probe()
85 led->cdev.default_trigger = pdata->def_trigger; s3c24xx_led_probe()
86 led->cdev.name = pdata->name; s3c24xx_led_probe()
87 led->cdev.flags |= LED_CORE_SUSPENDRESUME; s3c24xx_led_probe()
89 led->pdata = pdata; s3c24xx_led_probe()
105 /* register our new led device */ s3c24xx_led_probe()
107 ret = led_classdev_register(&dev->dev, &led->cdev); s3c24xx_led_probe()
H A Dleds-pwm.c100 struct led_pwm *led, struct device_node *child) led_pwm_add()
105 led_data->active_low = led->active_low; led_pwm_add()
106 led_data->cdev.name = led->name; led_pwm_add()
107 led_data->cdev.default_trigger = led->default_trigger; led_pwm_add()
110 led_data->cdev.max_brightness = led->max_brightness; led_pwm_add()
116 led_data->pwm = devm_pwm_get(dev, led->name); led_pwm_add()
120 led->name, ret); led_pwm_add()
129 if (!led_data->period && (led->pwm_period_ns > 0)) led_pwm_add()
130 led_data->period = led->pwm_period_ns; led_pwm_add()
136 dev_err(dev, "failed to register PWM led for %s: %d\n", led_pwm_add()
137 led->name, ret); led_pwm_add()
146 struct led_pwm led; led_pwm_create_of() local
149 memset(&led, 0, sizeof(led)); led_pwm_create_of()
152 led.name = of_get_property(child, "label", NULL) ? : led_pwm_create_of()
155 led.default_trigger = of_get_property(child, led_pwm_create_of()
157 led.active_low = of_property_read_bool(child, "active-low"); led_pwm_create_of()
159 &led.max_brightness); led_pwm_create_of()
161 ret = led_pwm_add(dev, priv, &led, child); led_pwm_create_of()
99 led_pwm_add(struct device *dev, struct led_pwm_priv *priv, struct led_pwm *led, struct device_node *child) led_pwm_add() argument
H A Dleds-ot200.c86 * we need to store the current led states, as it is not
87 * possible to read the current led state via inb().
95 struct ot200_led *led = container_of(led_cdev, struct ot200_led, cdev); ot200_led_brightness_set() local
101 if (led->port == 0x49) ot200_led_brightness_set()
103 else if (led->port == 0x5a) ot200_led_brightness_set()
109 *val &= ~led->mask; ot200_led_brightness_set()
111 *val |= led->mask; ot200_led_brightness_set()
113 outb(*val, led->port); ot200_led_brightness_set()
133 leds_back = BIT(1); /* turn on init led */ ot200_led_probe()
H A Dleds-tca6507.c16 * 500usec intervals in each 8msec that the led is 'on'. The levels
51 * blink. When a led changes, it relinquishes access and tries again,
73 * An led-tca6507 device must be provided with platform data or
149 /* Convert an led.brightness level (0..255) to a TCA6507 level (0..15) */ TO_LEVEL()
270 * given led.
272 static void set_select(struct tca6507_chip *tca, int led, int val) set_select() argument
274 int mask = (1 << led); set_select()
373 static void led_release(struct tca6507_led *led) led_release() argument
375 /* If led owns any resource, release it. */ led_release()
376 struct tca6507_chip *tca = led->chip; led_release()
377 if (led->bank >= 0) { led_release()
378 struct bank *b = tca->bank + led->bank; led_release()
379 if (led->blink) led_release()
383 led->blink = 0; led_release()
384 led->bank = -1; led_release()
387 static int led_prepare(struct tca6507_led *led) led_prepare() argument
389 /* Assign this led to a bank, configuring that bank if led_prepare()
391 int level = TO_LEVEL(led->led_cdev.brightness); led_prepare()
392 struct tca6507_chip *tca = led->chip; led_prepare()
398 led->led_cdev.brightness = TO_BRIGHT(level); led_prepare()
400 set_select(tca, led->num, TCA6507_LS_LED_OFF); led_prepare()
404 if (led->ontime == 0 || led->offtime == 0) { led_prepare()
415 set_select(tca, led->num, TCA6507_LS_LED_ON); led_prepare()
434 set_select(tca, led->num, TCA6507_LS_LED_ON); led_prepare()
435 led->led_cdev.brightness = LED_FULL; led_prepare()
443 led->bank = best; led_prepare()
444 set_select(tca, led->num, bank_source[best]); led_prepare()
445 led->led_cdev.brightness = TO_BRIGHT(tca->bank[best].level); led_prepare()
454 if (choose_times(led->ontime, &c1, &c2) < 0) led_prepare()
456 if (choose_times(led->offtime, &c1, &c2) < 0) led_prepare()
475 led->on_dflt || led_prepare()
476 tca->bank[i].ontime == led->ontime)) led_prepare()
481 led->off_dflt || led_prepare()
482 tca->bank[i].offtime == led->offtime)) led_prepare()
498 led->bank = i; led_prepare()
501 !led->on_dflt || led_prepare()
503 b->ontime = led->ontime; led_prepare()
504 b->on_dflt = led->on_dflt; led_prepare()
509 !led->off_dflt || led_prepare()
511 b->offtime = led->offtime; led_prepare()
512 b->off_dflt = led->off_dflt; led_prepare()
519 led->ontime = b->ontime; led_prepare()
520 led->offtime = b->offtime; led_prepare()
523 led->blink = 1; led_prepare()
524 led->led_cdev.brightness = TO_BRIGHT(b->level); led_prepare()
525 set_select(tca, led->num, blink_source[i]); led_prepare()
529 static int led_assign(struct tca6507_led *led) led_assign() argument
531 struct tca6507_chip *tca = led->chip; led_assign()
536 led_release(led); led_assign()
537 err = led_prepare(led); led_assign()
543 led->ontime = 0; led_assign()
544 led->offtime = 0; led_assign()
545 led_prepare(led); led_assign()
557 struct tca6507_led *led = container_of(led_cdev, struct tca6507_led, tca6507_brightness_set() local
559 led->led_cdev.brightness = brightness; tca6507_brightness_set()
560 led->ontime = 0; tca6507_brightness_set()
561 led->offtime = 0; tca6507_brightness_set()
562 led_assign(led); tca6507_brightness_set()
569 struct tca6507_led *led = container_of(led_cdev, struct tca6507_led, tca6507_blink_set() local
573 led->on_dflt = 1; tca6507_blink_set()
575 led->on_dflt = 0; tca6507_blink_set()
576 led->ontime = *delay_on; tca6507_blink_set()
579 led->off_dflt = 1; tca6507_blink_set()
581 led->off_dflt = 0; tca6507_blink_set()
582 led->offtime = *delay_off; tca6507_blink_set()
584 if (led->ontime == 0) tca6507_blink_set()
585 led->ontime = 512; tca6507_blink_set()
586 if (led->offtime == 0) tca6507_blink_set()
587 led->offtime = 512; tca6507_blink_set()
589 if (led->led_cdev.brightness == LED_OFF) tca6507_blink_set()
590 led->led_cdev.brightness = LED_FULL; tca6507_blink_set()
591 if (led_assign(led) < 0) { tca6507_blink_set()
592 led->ontime = 0; tca6507_blink_set()
593 led->offtime = 0; tca6507_blink_set()
594 led->led_cdev.brightness = LED_OFF; tca6507_blink_set()
597 *delay_on = led->ontime; tca6507_blink_set()
598 *delay_off = led->offtime; tca6507_blink_set()
704 struct led_info led; for_each_child_of_node() local
708 led.name = for_each_child_of_node()
710 led.default_trigger = for_each_child_of_node()
712 led.flags = 0; for_each_child_of_node()
714 led.flags |= TCA6507_MAKE_GPIO; for_each_child_of_node()
719 tca_leds[reg] = led; for_each_child_of_node()
H A Dleds-asic3.c96 struct asic3_led *led = dev_get_platdata(&pdev->dev); asic3_led_probe() local
103 led->cdev = devm_kzalloc(&pdev->dev, sizeof(struct led_classdev), asic3_led_probe()
105 if (!led->cdev) { asic3_led_probe()
110 led->cdev->name = led->name; asic3_led_probe()
111 led->cdev->flags = LED_CORE_SUSPENDRESUME; asic3_led_probe()
112 led->cdev->brightness_set = brightness_set; asic3_led_probe()
113 led->cdev->blink_set = blink_set; asic3_led_probe()
114 led->cdev->default_trigger = led->default_trigger; asic3_led_probe()
116 ret = led_classdev_register(&pdev->dev, led->cdev); asic3_led_probe()
129 struct asic3_led *led = dev_get_platdata(&pdev->dev); asic3_led_remove() local
131 led_classdev_unregister(led->cdev); asic3_led_remove()
H A Dleds-lp55xx-common.c88 struct lp55xx_led *led = dev_to_lp55xx_led(dev); lp55xx_show_current() local
90 return scnprintf(buf, PAGE_SIZE, "%d\n", led->led_current); lp55xx_show_current()
97 struct lp55xx_led *led = dev_to_lp55xx_led(dev); lp55xx_store_current() local
98 struct lp55xx_chip *chip = led->chip; lp55xx_store_current()
104 if (curr > led->max_current) lp55xx_store_current()
111 chip->cfg->set_led_current(led, (u8)curr); lp55xx_store_current()
121 struct lp55xx_led *led = dev_to_lp55xx_led(dev); lp55xx_show_max_current() local
123 return scnprintf(buf, PAGE_SIZE, "%d\n", led->max_current); lp55xx_show_max_current()
140 struct lp55xx_led *led = cdev_to_lp55xx_led(cdev); lp55xx_set_brightness() local
142 led->brightness = (u8)brightness; lp55xx_set_brightness()
143 schedule_work(&led->brightness_work); lp55xx_set_brightness()
146 static int lp55xx_init_led(struct lp55xx_led *led, lp55xx_init_led() argument
164 led->led_current = pdata->led_config[chan].led_current; lp55xx_init_led()
165 led->max_current = pdata->led_config[chan].max_current; lp55xx_init_led()
166 led->chan_nr = pdata->led_config[chan].chan_nr; lp55xx_init_led()
167 led->cdev.default_trigger = pdata->led_config[chan].default_trigger; lp55xx_init_led()
169 if (led->chan_nr >= max_channel) { lp55xx_init_led()
175 led->cdev.brightness_set = lp55xx_set_brightness; lp55xx_init_led()
176 led->cdev.groups = lp55xx_led_groups; lp55xx_init_led()
179 led->cdev.name = pdata->led_config[chan].name; lp55xx_init_led()
183 led->cdev.name = name; lp55xx_init_led()
186 ret = led_classdev_register(dev, &led->cdev); lp55xx_init_led()
188 dev_err(dev, "led register err: %d\n", ret); lp55xx_init_led()
234 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp55xx_show_engine_select() local
235 struct lp55xx_chip *chip = led->chip; lp55xx_show_engine_select()
244 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp55xx_store_engine_select() local
245 struct lp55xx_chip *chip = led->chip; lp55xx_store_engine_select()
286 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp55xx_store_engine_run() local
287 struct lp55xx_chip *chip = led->chip; lp55xx_store_engine_run()
457 int lp55xx_register_leds(struct lp55xx_led *led, struct lp55xx_chip *chip) lp55xx_register_leds() argument
479 each = led + i; lp55xx_register_leds()
489 /* setting led current at each channel */ lp55xx_register_leds()
497 lp55xx_unregister_leds(led, chip); lp55xx_register_leds()
502 void lp55xx_unregister_leds(struct lp55xx_led *led, struct lp55xx_chip *chip) lp55xx_unregister_leds() argument
508 each = led + i; lp55xx_unregister_leds()
575 of_property_read_u8(child, "led-cur", &cfg[i].led_current); for_each_child_of_node()
H A Dleds-lp8501.c87 static void lp8501_set_led_current(struct lp55xx_led *led, u8 led_current) lp8501_set_led_current() argument
89 led->led_current = led_current; lp8501_set_led_current()
90 lp55xx_write(led->chip, LP8501_REG_LED_CURRENT_BASE + led->chan_nr, lp8501_set_led_current()
277 struct lp55xx_led *led = container_of(work, struct lp55xx_led, lp8501_led_brightness_work() local
279 struct lp55xx_chip *chip = led->chip; lp8501_led_brightness_work()
282 lp55xx_write(chip, LP8501_REG_LED_PWM_BASE + led->chan_nr, lp8501_led_brightness_work()
283 led->brightness); lp8501_led_brightness_work()
310 struct lp55xx_led *led; lp8501_probe() local
330 led = devm_kzalloc(&client->dev, lp8501_probe()
331 sizeof(*led) * pdata->num_channels, GFP_KERNEL); lp8501_probe()
332 if (!led) lp8501_probe()
341 i2c_set_clientdata(client, led); lp8501_probe()
347 dev_info(&client->dev, "%s Programmable led chip found\n", id->name); lp8501_probe()
349 ret = lp55xx_register_leds(led, chip); lp8501_probe()
362 lp55xx_unregister_leds(led, chip); lp8501_probe()
371 struct lp55xx_led *led = i2c_get_clientdata(client); lp8501_remove() local
372 struct lp55xx_chip *chip = led->chip; lp8501_remove()
376 lp55xx_unregister_leds(led, chip); lp8501_remove()
H A Dleds-menf21bmc.c60 struct menf21bmc_led *led = container_of(led_cdev, menf21bmc_led_set() local
64 led_val = i2c_smbus_read_byte_data(led->i2c_client, menf21bmc_led_set()
70 led_val &= ~led->led_bit; menf21bmc_led_set()
72 led_val |= led->led_bit; menf21bmc_led_set()
74 i2c_smbus_write_byte_data(led->i2c_client, menf21bmc_led_set()
128 MODULE_DESCRIPTION("MEN 14F021P00 BMC led driver");
H A Dleds-gpio.c150 static void delete_gpio_led(struct gpio_led_data *led) delete_gpio_led() argument
152 led_classdev_unregister(&led->cdev); delete_gpio_led()
153 cancel_work_sync(&led->work); delete_gpio_led()
184 struct gpio_led led = {}; device_for_each_child_node() local
187 led.gpiod = devm_get_gpiod_from_child(dev, NULL, child); device_for_each_child_node()
188 if (IS_ERR(led.gpiod)) { device_for_each_child_node()
190 ret = PTR_ERR(led.gpiod); device_for_each_child_node()
197 fwnode_property_read_string(child, "label", &led.name); device_for_each_child_node()
199 if (IS_ENABLED(CONFIG_OF) && !led.name && np) device_for_each_child_node()
200 led.name = np->name; device_for_each_child_node()
201 if (!led.name) device_for_each_child_node()
205 &led.default_trigger); device_for_each_child_node()
210 led.default_state = LEDS_GPIO_DEFSTATE_KEEP; device_for_each_child_node()
212 led.default_state = LEDS_GPIO_DEFSTATE_ON; device_for_each_child_node()
214 led.default_state = LEDS_GPIO_DEFSTATE_OFF; device_for_each_child_node()
218 led.retain_state_suspended = 1; device_for_each_child_node()
220 ret = create_gpio_led(&led, &priv->leds[priv->num_leds++], device_for_each_child_node()
262 /* On failure: unwind the led creations */ gpio_led_probe()
H A Dleds-blinkm.c56 /* used for led class interface */
445 struct blinkm_led *led; led_work() local
449 led = blm_work->blinkm_led; led_work()
450 data = i2c_get_clientdata(led->i2c_client); led_work()
451 ret = blinkm_transfer_hw(led->i2c_client, BLM_GO_RGB); led_work()
452 atomic_dec(&led->active); led_work()
453 dev_dbg(&led->i2c_client->dev, led_work()
457 data->next_blue, atomic_read(&led->active)); led_work()
465 struct blinkm_led *led = cdev_to_blmled(led_cdev); blinkm_led_common_set() local
466 struct blinkm_data *data = i2c_get_clientdata(led->i2c_client); blinkm_led_common_set()
475 * think of network led trigger - we cannot blink that fast, so blinkm_led_common_set()
479 if (atomic_read(&led->active) > 1) blinkm_led_common_set()
489 if (atomic_read(&led->active) > 1) blinkm_led_common_set()
499 if (atomic_read(&led->active) > 1) blinkm_led_common_set()
505 dev_err(&led->i2c_client->dev, "BlinkM: unknown color.\n"); blinkm_led_common_set()
513 atomic_inc(&led->active); blinkm_led_common_set()
514 dev_dbg(&led->i2c_client->dev, blinkm_led_common_set()
518 data->next_blue, atomic_read(&led->active)); blinkm_led_common_set()
521 bl_work->blinkm_led = led; blinkm_led_common_set()
635 struct blinkm_led *led[3]; blinkm_probe() local
667 led[i] = &data->blinkm_leds[i]; blinkm_probe()
668 led[i]->i2c_client = client; blinkm_probe()
669 led[i]->id = i; blinkm_probe()
670 led[i]->led_cdev.max_brightness = 255; blinkm_probe()
671 led[i]->led_cdev.flags = LED_CORE_SUSPENDRESUME; blinkm_probe()
672 atomic_set(&led[i]->active, 0); blinkm_probe()
679 led[i]->led_cdev.name = blinkm_led_name; blinkm_probe()
680 led[i]->led_cdev.brightness_set = blinkm_led_red_set; blinkm_probe()
682 &led[i]->led_cdev); blinkm_probe()
686 led[i]->led_cdev.name); blinkm_probe()
695 led[i]->led_cdev.name = blinkm_led_name; blinkm_probe()
696 led[i]->led_cdev.brightness_set = blinkm_led_green_set; blinkm_probe()
698 &led[i]->led_cdev); blinkm_probe()
702 led[i]->led_cdev.name); blinkm_probe()
711 led[i]->led_cdev.name = blinkm_led_name; blinkm_probe()
712 led[i]->led_cdev.brightness_set = blinkm_led_blue_set; blinkm_probe()
714 &led[i]->led_cdev); blinkm_probe()
718 led[i]->led_cdev.name); blinkm_probe()
731 led_classdev_unregister(&led[GREEN]->led_cdev); blinkm_probe()
734 led_classdev_unregister(&led[RED]->led_cdev); blinkm_probe()
H A Dleds-lp5521.c127 static void lp5521_set_led_current(struct lp55xx_led *led, u8 led_current) lp5521_set_led_current() argument
129 led->led_current = led_current; lp5521_set_led_current()
130 lp55xx_write(led->chip, LP5521_REG_LED_CURRENT_BASE + led->chan_nr, lp5521_set_led_current()
367 struct lp55xx_led *led = container_of(work, struct lp55xx_led, lp5521_led_brightness_work() local
369 struct lp55xx_chip *chip = led->chip; lp5521_led_brightness_work()
372 lp55xx_write(chip, LP5521_REG_LED_PWM_BASE + led->chan_nr, lp5521_led_brightness_work()
373 led->brightness); lp5521_led_brightness_work()
381 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); show_engine_mode() local
382 struct lp55xx_chip *chip = led->chip; show_engine_mode()
403 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); store_engine_mode() local
404 struct lp55xx_chip *chip = led->chip; store_engine_mode()
435 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); store_engine_load() local
436 struct lp55xx_chip *chip = led->chip; store_engine_load()
457 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp5521_selftest() local
458 struct lp55xx_chip *chip = led->chip; lp5521_selftest()
516 struct lp55xx_led *led; lp5521_probe() local
536 led = devm_kzalloc(&client->dev, lp5521_probe()
537 sizeof(*led) * pdata->num_channels, GFP_KERNEL); lp5521_probe()
538 if (!led) lp5521_probe()
547 i2c_set_clientdata(client, led); lp5521_probe()
553 dev_info(&client->dev, "%s programmable led chip found\n", id->name); lp5521_probe()
555 ret = lp55xx_register_leds(led, chip); lp5521_probe()
568 lp55xx_unregister_leds(led, chip); lp5521_probe()
577 struct lp55xx_led *led = i2c_get_clientdata(client); lp5521_remove() local
578 struct lp55xx_chip *chip = led->chip; lp5521_remove()
582 lp55xx_unregister_leds(led, chip); lp5521_remove()
H A Dleds-lp5523.c112 #define LED_ACTIVE(mux, led) (!!(mux & (0x0001 << led)))
126 static void lp5523_set_led_current(struct lp55xx_led *led, u8 led_current) lp5523_set_led_current() argument
128 led->led_current = led_current; lp5523_set_led_current()
129 lp55xx_write(led->chip, LP5523_REG_LED_CURRENT_BASE + led->chan_nr, lp5523_set_led_current()
398 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); show_engine_mode() local
399 struct lp55xx_chip *chip = led->chip; show_engine_mode()
420 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); store_engine_mode() local
421 struct lp55xx_chip *chip = led->chip; store_engine_mode()
487 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); show_engine_leds() local
488 struct lp55xx_chip *chip = led->chip; show_engine_leds()
531 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); store_engine_leds() local
532 struct lp55xx_chip *chip = led->chip; store_engine_leds()
564 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); store_engine_load() local
565 struct lp55xx_chip *chip = led->chip; store_engine_load()
586 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp5523_selftest() local
587 struct lp55xx_chip *chip = led->chip; lp5523_selftest()
654 led->led_current); lp5523_selftest()
655 led++; lp5523_selftest()
671 struct lp55xx_led *led = container_of(work, struct lp55xx_led, lp5523_led_brightness_work() local
673 struct lp55xx_chip *chip = led->chip; lp5523_led_brightness_work()
676 lp55xx_write(chip, LP5523_REG_LED_PWM_BASE + led->chan_nr, lp5523_led_brightness_work()
677 led->brightness); lp5523_led_brightness_work()
734 struct lp55xx_led *led; lp5523_probe() local
754 led = devm_kzalloc(&client->dev, lp5523_probe()
755 sizeof(*led) * pdata->num_channels, GFP_KERNEL); lp5523_probe()
756 if (!led) lp5523_probe()
765 i2c_set_clientdata(client, led); lp5523_probe()
771 dev_info(&client->dev, "%s Programmable led chip found\n", id->name); lp5523_probe()
773 ret = lp55xx_register_leds(led, chip); lp5523_probe()
786 lp55xx_unregister_leds(led, chip); lp5523_probe()
795 struct lp55xx_led *led = i2c_get_clientdata(client); lp5523_remove() local
796 struct lp55xx_chip *chip = led->chip; lp5523_remove()
800 lp55xx_unregister_leds(led, chip); lp5523_remove()
H A Dleds-rb532.c55 .name = "rb532-led",
64 MODULE_ALIAS("platform:rb532-led");
H A Dleds-lp5562.c117 static void lp5562_set_led_current(struct lp55xx_led *led, u8 led_current) lp5562_set_led_current() argument
126 led->led_current = led_current; lp5562_set_led_current()
127 lp55xx_write(led->chip, addr[led->chan_nr], led_current); lp5562_set_led_current()
316 struct lp55xx_led *led = container_of(work, struct lp55xx_led, lp5562_led_brightness_work() local
318 struct lp55xx_chip *chip = led->chip; lp5562_led_brightness_work()
327 lp55xx_write(chip, addr[led->chan_nr], led->brightness); lp5562_led_brightness_work()
407 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp5562_store_pattern() local
408 struct lp55xx_chip *chip = led->chip; lp5562_store_pattern()
435 struct lp55xx_led *led = i2c_get_clientdata(to_i2c_client(dev)); lp5562_store_engine_mux() local
436 struct lp55xx_chip *chip = led->chip; lp5562_store_engine_mux()
517 struct lp55xx_led *led; lp5562_probe() local
537 led = devm_kzalloc(&client->dev, lp5562_probe()
538 sizeof(*led) * pdata->num_channels, GFP_KERNEL); lp5562_probe()
539 if (!led) lp5562_probe()
548 i2c_set_clientdata(client, led); lp5562_probe()
554 ret = lp55xx_register_leds(led, chip); lp5562_probe()
567 lp55xx_unregister_leds(led, chip); lp5562_probe()
576 struct lp55xx_led *led = i2c_get_clientdata(client); lp5562_remove() local
577 struct lp55xx_chip *chip = led->chip; lp5562_remove()
582 lp55xx_unregister_leds(led, chip); lp5562_remove()
H A Dleds-ss4200.c180 struct nasgpio_led *led = led_classdev_to_nasgpio_led(led_cdev); __nasgpio_led_set_attr() local
185 gpio_out |= (1<<led->gpio_bit); __nasgpio_led_set_attr()
187 gpio_out &= ~(1<<led->gpio_bit); __nasgpio_led_set_attr()
202 struct nasgpio_led *led = led_classdev_to_nasgpio_led(led_cdev); nasgpio_led_get_attr() local
208 if (gpio_in & (1<<led->gpio_bit)) nasgpio_led_get_attr()
422 struct led_classdev *led = &nas_led->led_cdev; get_classdev_for_led_nr() local
423 return led; get_classdev_for_led_nr()
446 struct led_classdev *led = dev_get_drvdata(dev); nas_led_blink_show() local
448 if (nasgpio_led_get_attr(led, GPO_BLINK)) nas_led_blink_show()
458 struct led_classdev *led = dev_get_drvdata(dev); nas_led_blink_store() local
465 nasgpio_led_set_attr(led, GPO_BLINK, blink_state); nas_led_blink_store()
482 struct led_classdev *led = get_classdev_for_led_nr(led_nr); register_nasgpio_led() local
484 led->name = nas_led->name; register_nasgpio_led()
485 led->brightness = LED_OFF; register_nasgpio_led()
486 if (nasgpio_led_get_attr(led, GP_LVL)) register_nasgpio_led()
487 led->brightness = LED_FULL; register_nasgpio_led()
488 led->brightness_set = nasgpio_led_set_brightness; register_nasgpio_led()
489 led->blink_set = nasgpio_led_set_blink; register_nasgpio_led()
490 led->groups = nasgpio_led_groups; register_nasgpio_led()
491 ret = led_classdev_register(&nas_gpio_pci_dev->dev, led); register_nasgpio_led()
500 struct led_classdev *led = get_classdev_for_led_nr(led_nr); unregister_nasgpio_led() local
501 led_classdev_unregister(led); unregister_nasgpio_led()
H A Dleds-hp6xx.c85 .name = "hp6xx-led",
94 MODULE_ALIAS("platform:hp6xx-led");
H A Dleds-lp55xx-common.h116 void (*set_led_current) (struct lp55xx_led *led, u8 led_current);
165 * @led_current : Current setting at each led channel
166 * @max_current : Maximun current at each led channel
195 extern int lp55xx_register_leds(struct lp55xx_led *led,
197 extern void lp55xx_unregister_leds(struct lp55xx_led *led,
H A Dled-class-flash.c14 #include <linux/led-class-flash.h>
29 "led-over-voltage",
33 "led-power-supply-over-current",
34 "indicator-led-fault",
35 "led-under-voltage",
37 "led-over-temperature",
314 /* Register led class device */ led_classdev_flash_register()
H A Dleds-lt3593.c126 static void delete_lt3593_led(struct lt3593_led_data *led) delete_lt3593_led() argument
128 if (!gpio_is_valid(led->gpio)) delete_lt3593_led()
131 led_classdev_unregister(&led->cdev); delete_lt3593_led()
132 cancel_work_sync(&led->work); delete_lt3593_led()
H A Dleds-clevo-mail.c121 * start it. Let's blink the led slowly (0.5Hz). clevo_mail_led_blink()
129 /* blink the led with 1Hz */ clevo_mail_led_blink()
134 /* blink the led with 0.5Hz */ clevo_mail_led_blink()
H A Dleds-ipaq-micro.c104 .name = "led-ipaq-micro",
116 dev_err(&pdev->dev, "registering led failed: %d\n", ret); micro_leds_probe()
H A Dled-class.c137 /* Return in next iteration if led is in one-shot mode and we are in led_timer_function()
138 * the final blink state so that the led is toggled each delay_on + led_timer_function()
290 dev_dbg(parent, "Registered led device: %s\n", led_classdev_register()
299 * @led_cdev: the led device to unregister
H A Dleds-gpio-register.c15 * gpio_led_register_device - register a gpio-led device
H A Dleds-net48xx.c23 #define DRVNAME "net48xx-led"
H A Dleds-lm3530.c18 #include <linux/led-lm3530.h>
24 #define LM3530_NAME "lm3530-led"
98 * @led_dev: led class device
467 dev_err(&client->dev, "Register led class failed: %d\n", err); lm3530_probe()
H A Dleds-pca963x.c292 struct led_info led = {}; for_each_child_of_node() local
299 led.name = for_each_child_of_node()
301 led.default_trigger = for_each_child_of_node()
303 pca963x_leds[reg] = led; for_each_child_of_node()
H A Dleds-wrap.c22 #define DRVNAME "wrap-led"
H A Dleds-fsg.c217 .name = "fsg-led",
/linux-4.1.27/drivers/staging/nvec/
H A Dnvec_paz00.c36 struct nvec_led *led = to_nvec_led(led_cdev); nvec_led_brightness_set() local
41 nvec_write_async(led->nvec, buf, sizeof(buf)); nvec_led_brightness_set()
43 led->cdev.brightness = value; nvec_led_brightness_set()
50 struct nvec_led *led; nvec_paz00_probe() local
53 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); nvec_paz00_probe()
54 if (!led) nvec_paz00_probe()
57 led->cdev.max_brightness = NVEC_LED_MAX; nvec_paz00_probe()
59 led->cdev.brightness_set = nvec_led_brightness_set; nvec_paz00_probe()
60 led->cdev.name = "paz00-led"; nvec_paz00_probe()
61 led->cdev.flags |= LED_CORE_SUSPENDRESUME; nvec_paz00_probe()
62 led->nvec = nvec; nvec_paz00_probe()
64 platform_set_drvdata(pdev, led); nvec_paz00_probe()
66 ret = led_classdev_register(&pdev->dev, &led->cdev); nvec_paz00_probe()
71 led->cdev.brightness = 0; nvec_paz00_probe()
78 struct nvec_led *led = platform_get_drvdata(pdev); nvec_paz00_remove() local
80 led_classdev_unregister(&led->cdev); nvec_paz00_remove()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192ce/
H A DMakefile4 led.o \
H A Dled.c33 #include "led.h"
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192cu/
H A DMakefile4 led.o \
H A Dled.c31 #include "led.h"
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192de/
H A DMakefile5 led.o \
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192se/
H A DMakefile5 led.o \
H A Dled.c33 #include "led.h"
/linux-4.1.27/drivers/leds/trigger/
H A Dledtrig-gpio.c23 struct led_classdev *led; member in struct:gpio_trig_data
26 unsigned desired_brightness; /* desired brightness when led is on */
33 struct led_classdev *led = _led; gpio_trig_irq() local
34 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_irq()
57 led_set_brightness_async(gpio_data->led, gpio_trig_work()
60 led_set_brightness_async(gpio_data->led, LED_FULL); gpio_trig_work()
62 led_set_brightness_async(gpio_data->led, LED_OFF); gpio_trig_work()
69 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_brightness_show() local
70 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_brightness_show()
78 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_brightness_store() local
79 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_brightness_store()
99 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_inverted_show() local
100 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_inverted_show()
108 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_inverted_store() local
109 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_inverted_store()
133 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_gpio_show() local
134 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_gpio_show()
142 struct led_classdev *led = dev_get_drvdata(dev); gpio_trig_gpio_store() local
143 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_gpio_store()
159 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_gpio_store()
166 | IRQF_TRIGGER_FALLING, "ledtrig-gpio", led); gpio_trig_gpio_store()
171 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_gpio_store()
179 static void gpio_trig_activate(struct led_classdev *led) gpio_trig_activate() argument
188 ret = device_create_file(led->dev, &dev_attr_gpio); gpio_trig_activate()
192 ret = device_create_file(led->dev, &dev_attr_inverted); gpio_trig_activate()
196 ret = device_create_file(led->dev, &dev_attr_desired_brightness); gpio_trig_activate()
200 gpio_data->led = led; gpio_trig_activate()
201 led->trigger_data = gpio_data; gpio_trig_activate()
203 led->activated = true; gpio_trig_activate()
208 device_remove_file(led->dev, &dev_attr_inverted); gpio_trig_activate()
211 device_remove_file(led->dev, &dev_attr_gpio); gpio_trig_activate()
217 static void gpio_trig_deactivate(struct led_classdev *led) gpio_trig_deactivate() argument
219 struct gpio_trig_data *gpio_data = led->trigger_data; gpio_trig_deactivate()
221 if (led->activated) { gpio_trig_deactivate()
222 device_remove_file(led->dev, &dev_attr_gpio); gpio_trig_deactivate()
223 device_remove_file(led->dev, &dev_attr_inverted); gpio_trig_deactivate()
224 device_remove_file(led->dev, &dev_attr_desired_brightness); gpio_trig_deactivate()
227 free_irq(gpio_to_irq(gpio_data->gpio), led); gpio_trig_deactivate()
229 led->activated = false; gpio_trig_deactivate()
H A Dledtrig-backlight.c25 struct led_classdev *led; member in struct:bl_trig_notifier
37 struct led_classdev *led = n->led; fb_notifier_callback() local
53 n->brightness = led->brightness; fb_notifier_callback()
54 led_set_brightness_async(led, LED_OFF); fb_notifier_callback()
56 led_set_brightness_async(led, n->brightness); fb_notifier_callback()
67 struct led_classdev *led = dev_get_drvdata(dev); bl_trig_invert_show() local
68 struct bl_trig_notifier *n = led->trigger_data; bl_trig_invert_show()
76 struct led_classdev *led = dev_get_drvdata(dev); bl_trig_invert_store() local
77 struct bl_trig_notifier *n = led->trigger_data; bl_trig_invert_store()
92 led_set_brightness_async(led, LED_OFF); bl_trig_invert_store()
94 led_set_brightness_async(led, n->brightness); bl_trig_invert_store()
100 static void bl_trig_activate(struct led_classdev *led) bl_trig_activate() argument
107 led->trigger_data = n; bl_trig_activate()
109 dev_err(led->dev, "unable to allocate backlight trigger\n"); bl_trig_activate()
113 ret = device_create_file(led->dev, &dev_attr_inverted); bl_trig_activate()
117 n->led = led; bl_trig_activate()
118 n->brightness = led->brightness; bl_trig_activate()
124 dev_err(led->dev, "unable to register backlight trigger\n"); bl_trig_activate()
125 led->activated = true; bl_trig_activate()
130 led->trigger_data = NULL; bl_trig_activate()
134 static void bl_trig_deactivate(struct led_classdev *led) bl_trig_deactivate() argument
137 (struct bl_trig_notifier *) led->trigger_data; bl_trig_deactivate()
139 if (led->activated) { bl_trig_deactivate()
140 device_remove_file(led->dev, &dev_attr_inverted); bl_trig_deactivate()
143 led->activated = false; bl_trig_deactivate()
H A Dledtrig-cpu.c124 * Registering CPU led trigger for each CPU core here ledtrig_cpu_init()
/linux-4.1.27/include/linux/platform_data/
H A Dlm3630a_bl.h41 *@leda_init_brt : led a init brightness. 4~255
42 *@leda_max_brt : led a max brightness. 4~255
43 *@leda_ctrl : led a disable, enable linear, enable exponential
44 *@ledb_init_brt : led b init brightness. 4~255
45 *@ledb_max_brt : led b max brightness. 4~255
46 *@ledb_ctrl : led b disable, enable linear, enable exponential
52 /* led a config. */
56 /* led b config. */
H A Dleds-lp55xx.h27 u8 led_current; /* mA x10, 0 if led is not connected */
49 * @led_config : Configurable led class device
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192ee/
H A DMakefile5 led.o \
H A Dled.c29 #include "led.h"
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8723ae/
H A DMakefile7 led.o \
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8723be/
H A DMakefile5 led.o \
H A Dled.c29 #include "led.h"
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8821ae/
H A DMakefile5 led.o \
/linux-4.1.27/drivers/net/wireless/ath/carl9170/
H A DMakefile1 carl9170-objs := main.o usb.o cmd.o mac.o phy.o led.o fw.o tx.o rx.o
H A Dled.c106 static void carl9170_led_set_brightness(struct led_classdev *led, carl9170_led_set_brightness() argument
109 struct carl9170_led *arl = container_of(led, struct carl9170_led, l); carl9170_led_set_brightness()
/linux-4.1.27/drivers/hid/
H A Dhid-gt683r.c2 * MSI GT683R led driver
74 struct gt683r_led *led = hid_get_drvdata(hdev); gt683r_brightness_set() local
77 if (led_cdev == &led->led_devs[i]) gt683r_brightness_set()
82 led->brightnesses[i] = brightness; gt683r_brightness_set()
83 schedule_work(&led->work); gt683r_brightness_set()
94 struct gt683r_led *led = hid_get_drvdata(hdev); mode_show() local
96 if (led->mode == GT683R_LED_NORMAL) mode_show()
98 else if (led->mode == GT683R_LED_AUDIO) mode_show()
113 struct gt683r_led *led = hid_get_drvdata(hdev); mode_store() local
119 mutex_lock(&led->lock); mode_store()
122 led->mode = GT683R_LED_NORMAL; mode_store()
124 led->mode = GT683R_LED_AUDIO; mode_store()
126 led->mode = GT683R_LED_BREATHING; mode_store()
128 mutex_unlock(&led->lock); mode_store()
129 schedule_work(&led->work); mode_store()
134 static int gt683r_led_snd_msg(struct gt683r_led *led, u8 *msg) gt683r_led_snd_msg() argument
138 ret = hid_hw_raw_request(led->hdev, msg[0], msg, GT683R_BUFFER_SIZE, gt683r_led_snd_msg()
141 hid_err(led->hdev, gt683r_led_snd_msg()
151 static int gt683r_leds_set(struct gt683r_led *led, u8 leds) gt683r_leds_set() argument
164 ret = gt683r_led_snd_msg(led, buffer); gt683r_leds_set()
170 static int gt683r_mode_set(struct gt683r_led *led, u8 mode) gt683r_mode_set() argument
184 ret = gt683r_led_snd_msg(led, buffer); gt683r_mode_set()
195 struct gt683r_led *led = container_of(work, struct gt683r_led, work); gt683r_led_work() local
197 mutex_lock(&led->lock); gt683r_led_work()
200 if (led->brightnesses[i]) gt683r_led_work()
204 if (gt683r_leds_set(led, leds)) gt683r_led_work()
208 mode = led->mode; gt683r_led_work()
212 gt683r_mode_set(led, mode); gt683r_led_work()
214 mutex_unlock(&led->lock); gt683r_led_work()
241 struct gt683r_led *led; gt683r_led_probe() local
243 led = devm_kzalloc(&hdev->dev, sizeof(*led), GFP_KERNEL); gt683r_led_probe()
244 if (!led) gt683r_led_probe()
247 mutex_init(&led->lock); gt683r_led_probe()
248 INIT_WORK(&led->work, gt683r_led_work); gt683r_led_probe()
250 led->mode = GT683R_LED_NORMAL; gt683r_led_probe()
251 led->hdev = hdev; gt683r_led_probe()
252 hid_set_drvdata(hdev, led); gt683r_led_probe()
278 led->led_devs[i].name = name; gt683r_led_probe()
279 led->led_devs[i].max_brightness = 1; gt683r_led_probe()
280 led->led_devs[i].brightness_set = gt683r_brightness_set; gt683r_led_probe()
281 led->led_devs[i].groups = gt683r_led_groups; gt683r_led_probe()
283 ret = led_classdev_register(&hdev->dev, &led->led_devs[i]); gt683r_led_probe()
285 hid_err(hdev, "could not register led device\n"); gt683r_led_probe()
294 led_classdev_unregister(&led->led_devs[i]); gt683r_led_probe()
302 struct gt683r_led *led = hid_get_drvdata(hdev); gt683r_led_remove() local
305 led_classdev_unregister(&led->led_devs[i]); gt683r_led_remove()
306 flush_work(&led->work); gt683r_led_remove()
320 MODULE_DESCRIPTION("MSI GT683R led driver");
H A Dhid-picolcd_leds.c47 if (!data->led[0]) picolcd_leds_set()
74 if (led_cdev != data->led[i]) picolcd_led_set_brightness()
99 if (led_cdev == data->led[i]) { picolcd_led_get_brightness()
109 struct led_classdev *led; picolcd_init_leds() local
123 led = kzalloc(sizeof(struct led_classdev)+name_sz, GFP_KERNEL); picolcd_init_leds()
124 if (!led) { picolcd_init_leds()
129 name = (void *)(&led[1]); picolcd_init_leds()
131 led->name = name; picolcd_init_leds()
132 led->brightness = 0; picolcd_init_leds()
133 led->max_brightness = 1; picolcd_init_leds()
134 led->brightness_get = picolcd_led_get_brightness; picolcd_init_leds()
135 led->brightness_set = picolcd_led_set_brightness; picolcd_init_leds()
137 data->led[i] = led; picolcd_init_leds()
138 ret = led_classdev_register(dev, data->led[i]); picolcd_init_leds()
140 data->led[i] = NULL; picolcd_init_leds()
141 kfree(led); picolcd_init_leds()
149 if (data->led[i]) { picolcd_init_leds()
150 led = data->led[i]; picolcd_init_leds()
151 data->led[i] = NULL; picolcd_init_leds()
152 led_classdev_unregister(led); picolcd_init_leds()
153 kfree(led); picolcd_init_leds()
160 struct led_classdev *led; picolcd_exit_leds() local
164 led = data->led[i]; picolcd_exit_leds()
165 data->led[i] = NULL; picolcd_exit_leds()
166 if (!led) picolcd_exit_leds()
168 led_classdev_unregister(led); picolcd_exit_leds()
169 kfree(led); picolcd_exit_leds()
H A Dhid-steelseries.c26 struct led_classdev *led[SRWS1_NUMBER_LEDS + 1]; member in struct:steelseries_srws1_data
190 if (led_cdev != drv_data->led[i]) steelseries_srws1_led_set_brightness()
220 if (led_cdev == drv_data->led[i]) { steelseries_srws1_led_get_brightness()
232 struct led_classdev *led; steelseries_srws1_probe() local
262 /* register led subsystem */ steelseries_srws1_probe()
265 drv_data->led[i] = NULL; steelseries_srws1_probe()
272 led = kzalloc(sizeof(struct led_classdev)+name_sz, GFP_KERNEL); steelseries_srws1_probe()
273 if (!led) { steelseries_srws1_probe()
278 name = (void *)(&led[1]); steelseries_srws1_probe()
280 led->name = name; steelseries_srws1_probe()
281 led->brightness = 0; steelseries_srws1_probe()
282 led->max_brightness = 1; steelseries_srws1_probe()
283 led->brightness_get = steelseries_srws1_led_all_get_brightness; steelseries_srws1_probe()
284 led->brightness_set = steelseries_srws1_led_all_set_brightness; steelseries_srws1_probe()
286 drv_data->led[SRWS1_NUMBER_LEDS] = led; steelseries_srws1_probe()
287 ret = led_classdev_register(&hdev->dev, led); steelseries_srws1_probe()
293 led = kzalloc(sizeof(struct led_classdev)+name_sz, GFP_KERNEL); steelseries_srws1_probe()
294 if (!led) { steelseries_srws1_probe()
299 name = (void *)(&led[1]); steelseries_srws1_probe()
301 led->name = name; steelseries_srws1_probe()
302 led->brightness = 0; steelseries_srws1_probe()
303 led->max_brightness = 1; steelseries_srws1_probe()
304 led->brightness_get = steelseries_srws1_led_get_brightness; steelseries_srws1_probe()
305 led->brightness_set = steelseries_srws1_led_set_brightness; steelseries_srws1_probe()
307 drv_data->led[i] = led; steelseries_srws1_probe()
308 ret = led_classdev_register(&hdev->dev, led); steelseries_srws1_probe()
315 led = drv_data->led[i]; steelseries_srws1_probe()
316 drv_data->led[i] = NULL; steelseries_srws1_probe()
317 if (!led) steelseries_srws1_probe()
319 led_classdev_unregister(led); steelseries_srws1_probe()
320 kfree(led); steelseries_srws1_probe()
335 struct led_classdev *led; steelseries_srws1_remove() local
342 led = drv_data->led[i]; steelseries_srws1_remove()
343 drv_data->led[i] = NULL; steelseries_srws1_remove()
344 if (!led) steelseries_srws1_remove()
346 led_classdev_unregister(led); steelseries_srws1_remove()
347 kfree(led); steelseries_srws1_remove()
H A Dhid-lg4ff.c81 struct led_classdev *led[5]; member in struct:lg4ff_device_entry
859 if (led_cdev != entry->led[i]) lg4ff_led_set_brightness()
894 if (led_cdev == entry->led[i]) { lg4ff_led_get_brightness()
1111 /* register led subsystem - G27 only */ lg4ff_init()
1114 entry->led[j] = NULL; lg4ff_init()
1117 struct led_classdev *led; lg4ff_init() local
1126 led = kzalloc(sizeof(struct led_classdev)+name_sz, GFP_KERNEL); lg4ff_init()
1127 if (!led) { lg4ff_init()
1132 name = (void *)(&led[1]); lg4ff_init()
1134 led->name = name; lg4ff_init()
1135 led->brightness = 0; lg4ff_init()
1136 led->max_brightness = 1; lg4ff_init()
1137 led->brightness_get = lg4ff_led_get_brightness; lg4ff_init()
1138 led->brightness_set = lg4ff_led_set_brightness; lg4ff_init()
1140 entry->led[j] = led; lg4ff_init()
1141 error = led_classdev_register(&hid->dev, led); lg4ff_init()
1148 led = entry->led[j]; lg4ff_init()
1149 entry->led[j] = NULL; lg4ff_init()
1150 if (!led) lg4ff_init()
1152 led_classdev_unregister(led); lg4ff_init()
1153 kfree(led); lg4ff_init()
1190 struct led_classdev *led; lg4ff_deinit() local
1195 led = entry->led[j]; lg4ff_deinit()
1196 entry->led[j] = NULL; lg4ff_deinit()
1197 if (!led) lg4ff_deinit()
1199 led_classdev_unregister(led); lg4ff_deinit()
1200 kfree(led); lg4ff_deinit()
H A Dwacom_sys.c593 int ring_led = wacom->led.select[0] & 0x03; wacom_led_control()
594 int ring_lum = (((wacom->led.llv & 0x60) >> 5) - 1) & 0x03; wacom_led_control()
608 int led = wacom->led.select[0] | 0x4; wacom_led_control() local
612 led |= (wacom->led.select[1] << 4) | 0x40; wacom_led_control()
615 buf[1] = led; wacom_led_control()
616 buf[2] = wacom->led.llv; wacom_led_control()
617 buf[3] = wacom->led.hlv; wacom_led_control()
618 buf[4] = wacom->led.img_lum; wacom_led_control()
684 wacom->led.select[set_id] = id & 0x3; wacom_led_select_store()
704 wacom->led.select[SET_ID]); \
740 return wacom_luminance_store(wacom, &wacom->led.field, \
747 return scnprintf(buf, PAGE_SIZE, "%d\n", wacom->led.field); \
857 wacom->led.select[0] = 0; wacom_initialize_leds()
858 wacom->led.select[1] = 0; wacom_initialize_leds()
859 wacom->led.llv = 10; wacom_initialize_leds()
860 wacom->led.hlv = 20; wacom_initialize_leds()
861 wacom->led.img_lum = 10; wacom_initialize_leds()
868 wacom->led.select[0] = 0; wacom_initialize_leds()
869 wacom->led.select[1] = 0; wacom_initialize_leds()
870 wacom->led.llv = 0; wacom_initialize_leds()
871 wacom->led.hlv = 0; wacom_initialize_leds()
872 wacom->led.img_lum = 0; wacom_initialize_leds()
885 wacom->led.select[0] = 0; wacom_initialize_leds()
886 wacom->led.select[1] = 0; wacom_initialize_leds()
887 wacom->led.llv = 32; wacom_initialize_leds()
888 wacom->led.hlv = 0; wacom_initialize_leds()
889 wacom->led.img_lum = 0; wacom_initialize_leds()
H A Dhid-thingm.c149 struct thingm_led *led = container_of(ldev, struct thingm_led, ldev); thingm_led_set() local
152 schedule_work(&led->rgb->work); thingm_led_set()
162 "thingm%d:red:led%d", minor, rgb->num); thingm_init_rgb()
174 "thingm%d:green:led%d", minor, rgb->num); thingm_init_rgb()
186 "thingm%d:blue:led%d", minor, rgb->num); thingm_init_rgb()
H A Dhid-sony.c772 __u8 time_enabled; /* the total time the led is active (0xff means forever) */
775 __u8 duty_off; /* % of duty_length the led is off (0xff means 100%) */
776 __u8 duty_on; /* % of duty_length the led is on (0xff mean 100%) */
792 struct sixaxis_led led[4]; /* LEDx at (4 - x) */ member in struct:sixaxis_output_report
1290 static void sony_led_set_brightness(struct led_classdev *led, sony_led_set_brightness() argument
1293 struct device *dev = led->dev->parent; sony_led_set_brightness()
1316 if (led == drv_data->leds[n] && (force_update || sony_led_set_brightness()
1334 static enum led_brightness sony_led_get_brightness(struct led_classdev *led) sony_led_get_brightness() argument
1336 struct device *dev = led->dev->parent; sony_led_get_brightness()
1349 if (led == drv_data->leds[n]) sony_led_get_brightness()
1356 static int sony_led_blink_set(struct led_classdev *led, unsigned long *delay_on, sony_led_blink_set() argument
1359 struct device *dev = led->dev->parent; sony_led_blink_set()
1384 if (led == drv_data->leds[n]) sony_led_blink_set()
1405 struct led_classdev *led; sony_leds_remove() local
1411 led = sc->leds[n]; sony_leds_remove()
1413 if (!led) sony_leds_remove()
1415 led_classdev_unregister(led); sony_leds_remove()
1416 kfree(led); sony_leds_remove()
1427 struct led_classdev *led; sony_leds_init() local
1480 led = kzalloc(sizeof(struct led_classdev) + name_sz, GFP_KERNEL); sony_leds_init()
1481 if (!led) { sony_leds_init()
1487 name = (void *)(&led[1]); sony_leds_init()
1493 led->name = name; sony_leds_init()
1494 led->brightness = initial_values[n]; sony_leds_init()
1495 led->max_brightness = max_brightness[n]; sony_leds_init()
1496 led->brightness_get = sony_led_get_brightness; sony_leds_init()
1497 led->brightness_set = sony_led_set_brightness; sony_leds_init()
1500 led->blink_set = sony_led_blink_set; sony_leds_init()
1502 sc->leds[n] = led; sony_leds_init()
1504 ret = led_classdev_register(&hdev->dev, led); sony_leds_init()
1508 kfree(led); sony_leds_init()
1568 report->led[3 - n].duty_off = sc->led_delay_off[n]; sixaxis_state_worker()
1569 report->led[3 - n].duty_on = sc->led_delay_on[n]; sixaxis_state_worker()
H A Dwacom.h116 u8 select[2]; /* status led selector (0..3) */
117 u8 llv; /* status led brightness no button (1..127) */
118 u8 hlv; /* status led brightness button pressed (1..127) */
120 } led; member in struct:wacom
/linux-4.1.27/arch/arm/mach-footbridge/
H A Debsa285.c50 struct ebsa285_led *led = container_of(cdev, ebsa285_led_set() local
54 hw_led_state |= led->mask; ebsa285_led_set()
56 hw_led_state &= ~led->mask; ebsa285_led_set()
62 struct ebsa285_led *led = container_of(cdev, ebsa285_led_get() local
65 return hw_led_state & led->mask ? LED_OFF : LED_FULL; ebsa285_led_get()
84 struct ebsa285_led *led; ebsa285_leds_init() local
86 led = kzalloc(sizeof(*led), GFP_KERNEL); ebsa285_leds_init()
87 if (!led) ebsa285_leds_init()
90 led->cdev.name = ebsa285_leds[i].name; ebsa285_leds_init()
91 led->cdev.brightness_set = ebsa285_led_set; ebsa285_leds_init()
92 led->cdev.brightness_get = ebsa285_led_get; ebsa285_leds_init()
93 led->cdev.default_trigger = ebsa285_leds[i].trigger; ebsa285_leds_init()
94 led->mask = BIT(i); ebsa285_leds_init()
96 if (led_classdev_register(NULL, &led->cdev) < 0) { ebsa285_leds_init()
97 kfree(led); ebsa285_leds_init()
H A Dnetwinder-hw.c690 struct netwinder_led *led = container_of(cdev, netwinder_led_set() local
698 reg &= ~led->mask; netwinder_led_set()
700 reg |= led->mask; netwinder_led_set()
701 nw_gpio_modify_op(led->mask, reg); netwinder_led_set()
707 struct netwinder_led *led = container_of(cdev, netwinder_led_get() local
716 return (reg & led->mask) ? LED_OFF : LED_FULL; netwinder_led_get()
727 struct netwinder_led *led; netwinder_leds_init() local
729 led = kzalloc(sizeof(*led), GFP_KERNEL); netwinder_leds_init()
730 if (!led) netwinder_leds_init()
733 led->cdev.name = netwinder_leds[i].name; netwinder_leds_init()
734 led->cdev.brightness_set = netwinder_led_set; netwinder_leds_init()
735 led->cdev.brightness_get = netwinder_led_get; netwinder_leds_init()
736 led->cdev.default_trigger = netwinder_leds[i].trigger; netwinder_leds_init()
739 led->mask = GPIO_GREEN_LED; netwinder_leds_init()
741 led->mask = GPIO_RED_LED; netwinder_leds_init()
743 if (led_classdev_register(NULL, &led->cdev) < 0) { netwinder_leds_init()
744 kfree(led); netwinder_leds_init()
/linux-4.1.27/drivers/net/wireless/b43/
H A Dleds.c61 struct b43_led *led) b43_led_update()
66 if (!led->wl) b43_led_update()
71 /* The led->state read is racy, but we don't care. In case we raced b43_led_update()
75 turn_on = atomic_read(&led->state) != LED_OFF; b43_led_update()
78 if (turn_on == led->hw_state) b43_led_update()
80 led->hw_state = turn_on; b43_led_update()
83 b43_led_turn_on(dev, led->index, led->activelow); b43_led_update()
85 b43_led_turn_off(dev, led->index, led->activelow); b43_led_update()
112 struct b43_led *led = container_of(led_dev, struct b43_led, led_dev); b43_led_brightness_set() local
113 struct b43_wl *wl = led->wl; b43_led_brightness_set()
116 atomic_set(&led->state, brightness); b43_led_brightness_set()
121 static int b43_register_led(struct b43_wldev *dev, struct b43_led *led, b43_register_led() argument
127 if (led->wl) b43_register_led()
131 led->wl = dev->wl; b43_register_led()
132 led->index = led_index; b43_register_led()
133 led->activelow = activelow; b43_register_led()
134 strncpy(led->name, name, sizeof(led->name)); b43_register_led()
135 atomic_set(&led->state, 0); b43_register_led()
137 led->led_dev.name = led->name; b43_register_led()
138 led->led_dev.default_trigger = default_trigger; b43_register_led()
139 led->led_dev.brightness_set = b43_led_brightness_set; b43_register_led()
141 err = led_classdev_register(dev->dev->dev, &led->led_dev); b43_register_led()
144 led->wl = NULL; b43_register_led()
151 static void b43_unregister_led(struct b43_led *led) b43_unregister_led() argument
153 if (!led->wl) b43_unregister_led()
155 led_classdev_unregister(&led->led_dev); b43_unregister_led()
156 led->wl = NULL; b43_unregister_led()
260 struct b43_led *led; b43_leds_init() local
266 led = &dev->wl->leds.led_radio; b43_leds_init()
267 if (led->wl) { b43_leds_init()
269 b43_led_turn_on(dev, led->index, led->activelow); b43_leds_init()
270 led->hw_state = true; b43_leds_init()
271 atomic_set(&led->state, 1); b43_leds_init()
273 b43_led_turn_off(dev, led->index, led->activelow); b43_leds_init()
274 led->hw_state = false; b43_leds_init()
275 atomic_set(&led->state, 0); b43_leds_init()
280 led = &dev->wl->leds.led_tx; b43_leds_init()
281 if (led->wl) { b43_leds_init()
282 b43_led_turn_off(dev, led->index, led->activelow); b43_leds_init()
283 led->hw_state = false; b43_leds_init()
284 atomic_set(&led->state, 0); b43_leds_init()
286 led = &dev->wl->leds.led_rx; b43_leds_init()
287 if (led->wl) { b43_leds_init()
288 b43_led_turn_off(dev, led->index, led->activelow); b43_leds_init()
289 led->hw_state = false; b43_leds_init()
290 atomic_set(&led->state, 0); b43_leds_init()
292 led = &dev->wl->leds.led_assoc; b43_leds_init()
293 if (led->wl) { b43_leds_init()
294 b43_led_turn_off(dev, led->index, led->activelow); b43_leds_init()
295 led->hw_state = false; b43_leds_init()
296 atomic_set(&led->state, 0); b43_leds_init()
60 b43_led_update(struct b43_wldev *dev, struct b43_led *led) b43_led_update() argument
/linux-4.1.27/drivers/net/wireless/p54/
H A DMakefile2 p54common-$(CONFIG_P54_LEDS) += led.o
H A Dled.c70 struct p54_led_dev *led = container_of(led_dev, struct p54_led_dev, p54_led_brightness_set() local
72 struct ieee80211_hw *dev = led->hw_dev; p54_led_brightness_set()
78 if ((brightness) && (led->registered)) { p54_led_brightness_set()
79 led->toggled++; p54_led_brightness_set()
88 struct p54_led_dev *led = &priv->leds[led_index]; p54_register_led() local
91 if (led->registered) p54_register_led()
94 snprintf(led->name, sizeof(led->name), "p54-%s::%s", p54_register_led()
96 led->hw_dev = priv->hw; p54_register_led()
97 led->index = led_index; p54_register_led()
98 led->led_dev.name = led->name; p54_register_led()
99 led->led_dev.default_trigger = trigger; p54_register_led()
100 led->led_dev.brightness_set = p54_led_brightness_set; p54_register_led()
102 err = led_classdev_register(wiphy_dev(priv->hw->wiphy), &led->led_dev); p54_register_led()
107 led->registered = 1; p54_register_led()
H A Dfwio.c546 struct p54_led *led; p54_set_leds() local
548 skb = p54_alloc_skb(priv, P54_HDR_FLAG_CONTROL_OPSET, sizeof(*led), p54_set_leds()
553 led = (struct p54_led *) skb_put(skb, sizeof(*led)); p54_set_leds()
554 led->flags = cpu_to_le16(0x0003); p54_set_leds()
555 led->mask[0] = led->mask[1] = cpu_to_le16(priv->softled_state); p54_set_leds()
556 led->delay[0] = cpu_to_le16(1); p54_set_leds()
557 led->delay[1] = cpu_to_le16(0); p54_set_leds()
/linux-4.1.27/drivers/net/wireless/rt2x00/
H A Drt2x00leds.c21 Abstract: rt2x00 led specific routines.
32 struct rt2x00_led *led = &rt2x00dev->led_qual; rt2x00leds_led_quality() local
35 if ((led->type != LED_TYPE_QUALITY) || !(led->flags & LED_REGISTERED)) rt2x00leds_led_quality()
67 if (brightness != led->led_dev.brightness) { rt2x00leds_led_quality()
68 led->led_dev.brightness_set(&led->led_dev, brightness); rt2x00leds_led_quality()
69 led->led_dev.brightness = brightness; rt2x00leds_led_quality()
73 static void rt2x00led_led_simple(struct rt2x00_led *led, bool enabled) rt2x00led_led_simple() argument
77 if (!(led->flags & LED_REGISTERED)) rt2x00led_led_simple()
80 led->led_dev.brightness_set(&led->led_dev, brightness); rt2x00led_led_simple()
81 led->led_dev.brightness = brightness; rt2x00led_led_simple()
103 struct rt2x00_led *led, rt2x00leds_register_led()
109 led->led_dev.name = name; rt2x00leds_register_led()
110 led->led_dev.brightness = LED_OFF; rt2x00leds_register_led()
112 retval = led_classdev_register(device, &led->led_dev); rt2x00leds_register_led()
114 rt2x00_err(rt2x00dev, "Failed to register led handler\n"); rt2x00leds_register_led()
118 led->flags |= LED_REGISTERED; rt2x00leds_register_led()
182 static void rt2x00leds_unregister_led(struct rt2x00_led *led) rt2x00leds_unregister_led() argument
184 led_classdev_unregister(&led->led_dev); rt2x00leds_unregister_led()
188 * suspended the led is already off, and since we haven't rt2x00leds_unregister_led()
192 if (!(led->led_dev.flags & LED_SUSPENDED)) rt2x00leds_unregister_led()
193 led->led_dev.brightness_set(&led->led_dev, LED_OFF); rt2x00leds_unregister_led()
195 led->flags &= ~LED_REGISTERED; rt2x00leds_unregister_led()
208 static inline void rt2x00leds_suspend_led(struct rt2x00_led *led) rt2x00leds_suspend_led() argument
210 led_classdev_suspend(&led->led_dev); rt2x00leds_suspend_led()
213 led->led_dev.brightness_set(&led->led_dev, LED_OFF); rt2x00leds_suspend_led()
214 led->led_dev.brightness = LED_OFF; rt2x00leds_suspend_led()
227 static inline void rt2x00leds_resume_led(struct rt2x00_led *led) rt2x00leds_resume_led() argument
229 led_classdev_resume(&led->led_dev); rt2x00leds_resume_led()
232 led->led_dev.brightness_set(&led->led_dev, LED_OFF); rt2x00leds_resume_led()
233 led->led_dev.brightness = LED_OFF; rt2x00leds_resume_led()
102 rt2x00leds_register_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, const char *name) rt2x00leds_register_led() argument
H A Drt2x00leds.h21 Abstract: rt2x00 led datastructures and routines
H A Drt73usb.c196 struct rt2x00_led *led = rt73usb_brightness_set() local
200 (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_5GHZ); rt73usb_brightness_set()
202 (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_2GHZ); rt73usb_brightness_set()
204 if (led->type == LED_TYPE_RADIO) { rt73usb_brightness_set()
205 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
208 rt2x00usb_vendor_request_sw(led->rt2x00dev, USB_LED_CONTROL, rt73usb_brightness_set()
209 0, led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
211 } else if (led->type == LED_TYPE_ASSOC) { rt73usb_brightness_set()
212 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
214 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
217 rt2x00usb_vendor_request_sw(led->rt2x00dev, USB_LED_CONTROL, rt73usb_brightness_set()
218 0, led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
220 } else if (led->type == LED_TYPE_QUALITY) { rt73usb_brightness_set()
226 rt2x00usb_vendor_request_sw(led->rt2x00dev, USB_LED_CONTROL, rt73usb_brightness_set()
228 led->rt2x00dev->led_mcu_reg, rt73usb_brightness_set()
237 struct rt2x00_led *led = rt73usb_blink_set() local
241 rt2x00usb_register_read(led->rt2x00dev, MAC_CSR14, &reg); rt73usb_blink_set()
244 rt2x00usb_register_write(led->rt2x00dev, MAC_CSR14, reg); rt73usb_blink_set()
250 struct rt2x00_led *led, rt73usb_init_led()
253 led->rt2x00dev = rt2x00dev; rt73usb_init_led()
254 led->type = type; rt73usb_init_led()
255 led->led_dev.brightness_set = rt73usb_brightness_set; rt73usb_init_led()
256 led->led_dev.blink_set = rt73usb_blink_set; rt73usb_init_led()
257 led->flags = LED_INITIALIZED; rt73usb_init_led()
1924 * Store led settings, for correct led behaviour. rt73usb_init_eeprom()
249 rt73usb_init_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, enum led_type type) rt73usb_init_led() argument
H A Drt2400pci.c213 struct rt2x00_led *led = rt2400pci_brightness_set() local
218 rt2x00mmio_register_read(led->rt2x00dev, LEDCSR, &reg); rt2400pci_brightness_set()
220 if (led->type == LED_TYPE_RADIO || led->type == LED_TYPE_ASSOC) rt2400pci_brightness_set()
222 else if (led->type == LED_TYPE_ACTIVITY) rt2400pci_brightness_set()
225 rt2x00mmio_register_write(led->rt2x00dev, LEDCSR, reg); rt2400pci_brightness_set()
232 struct rt2x00_led *led = rt2400pci_blink_set() local
236 rt2x00mmio_register_read(led->rt2x00dev, LEDCSR, &reg); rt2400pci_blink_set()
239 rt2x00mmio_register_write(led->rt2x00dev, LEDCSR, reg); rt2400pci_blink_set()
245 struct rt2x00_led *led, rt2400pci_init_led()
248 led->rt2x00dev = rt2x00dev; rt2400pci_init_led()
249 led->type = type; rt2400pci_init_led()
250 led->led_dev.brightness_set = rt2400pci_brightness_set; rt2400pci_init_led()
251 led->led_dev.blink_set = rt2400pci_blink_set; rt2400pci_init_led()
252 led->flags = LED_INITIALIZED; rt2400pci_init_led()
1520 * Store led mode, for correct led behaviour. rt2400pci_init_eeprom()
244 rt2400pci_init_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, enum led_type type) rt2400pci_init_led() argument
H A Drt2500usb.c288 struct rt2x00_led *led = rt2500usb_brightness_set() local
293 rt2500usb_register_read(led->rt2x00dev, MAC_CSR20, &reg); rt2500usb_brightness_set()
295 if (led->type == LED_TYPE_RADIO || led->type == LED_TYPE_ASSOC) rt2500usb_brightness_set()
297 else if (led->type == LED_TYPE_ACTIVITY) rt2500usb_brightness_set()
300 rt2500usb_register_write(led->rt2x00dev, MAC_CSR20, reg); rt2500usb_brightness_set()
307 struct rt2x00_led *led = rt2500usb_blink_set() local
311 rt2500usb_register_read(led->rt2x00dev, MAC_CSR21, &reg); rt2500usb_blink_set()
314 rt2500usb_register_write(led->rt2x00dev, MAC_CSR21, reg); rt2500usb_blink_set()
320 struct rt2x00_led *led, rt2500usb_init_led()
323 led->rt2x00dev = rt2x00dev; rt2500usb_init_led()
324 led->type = type; rt2500usb_init_led()
325 led->led_dev.brightness_set = rt2500usb_brightness_set; rt2500usb_init_led()
326 led->led_dev.blink_set = rt2500usb_blink_set; rt2500usb_init_led()
327 led->flags = LED_INITIALIZED; rt2500usb_init_led()
1501 * Store led mode, for correct led behaviour. rt2500usb_init_eeprom()
319 rt2500usb_init_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, enum led_type type) rt2500usb_init_led() argument
H A Drt61pci.c251 struct rt2x00_led *led = rt61pci_brightness_set() local
255 (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_5GHZ); rt61pci_brightness_set()
257 (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_2GHZ); rt61pci_brightness_set()
259 if (led->type == LED_TYPE_RADIO) { rt61pci_brightness_set()
260 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt61pci_brightness_set()
263 rt61pci_mcu_request(led->rt2x00dev, MCU_LED, 0xff, rt61pci_brightness_set()
264 (led->rt2x00dev->led_mcu_reg & 0xff), rt61pci_brightness_set()
265 ((led->rt2x00dev->led_mcu_reg >> 8))); rt61pci_brightness_set()
266 } else if (led->type == LED_TYPE_ASSOC) { rt61pci_brightness_set()
267 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt61pci_brightness_set()
269 rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg, rt61pci_brightness_set()
272 rt61pci_mcu_request(led->rt2x00dev, MCU_LED, 0xff, rt61pci_brightness_set()
273 (led->rt2x00dev->led_mcu_reg & 0xff), rt61pci_brightness_set()
274 ((led->rt2x00dev->led_mcu_reg >> 8))); rt61pci_brightness_set()
275 } else if (led->type == LED_TYPE_QUALITY) { rt61pci_brightness_set()
281 rt61pci_mcu_request(led->rt2x00dev, MCU_LED_STRENGTH, 0xff, rt61pci_brightness_set()
290 struct rt2x00_led *led = rt61pci_blink_set() local
294 rt2x00mmio_register_read(led->rt2x00dev, MAC_CSR14, &reg); rt61pci_blink_set()
297 rt2x00mmio_register_write(led->rt2x00dev, MAC_CSR14, reg); rt61pci_blink_set()
303 struct rt2x00_led *led, rt61pci_init_led()
306 led->rt2x00dev = rt2x00dev; rt61pci_init_led()
307 led->type = type; rt61pci_init_led()
308 led->led_dev.brightness_set = rt61pci_brightness_set; rt61pci_init_led()
309 led->led_dev.blink_set = rt61pci_blink_set; rt61pci_init_led()
310 led->flags = LED_INITIALIZED; rt61pci_init_led()
2591 * Store led settings, for correct led behaviour. rt61pci_init_eeprom()
2593 * switch to default led mode. rt61pci_init_eeprom()
302 rt61pci_init_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, enum led_type type) rt61pci_init_led() argument
H A Drt2500pci.c213 struct rt2x00_led *led = rt2500pci_brightness_set() local
218 rt2x00mmio_register_read(led->rt2x00dev, LEDCSR, &reg); rt2500pci_brightness_set()
220 if (led->type == LED_TYPE_RADIO || led->type == LED_TYPE_ASSOC) rt2500pci_brightness_set()
222 else if (led->type == LED_TYPE_ACTIVITY) rt2500pci_brightness_set()
225 rt2x00mmio_register_write(led->rt2x00dev, LEDCSR, reg); rt2500pci_brightness_set()
232 struct rt2x00_led *led = rt2500pci_blink_set() local
236 rt2x00mmio_register_read(led->rt2x00dev, LEDCSR, &reg); rt2500pci_blink_set()
239 rt2x00mmio_register_write(led->rt2x00dev, LEDCSR, reg); rt2500pci_blink_set()
245 struct rt2x00_led *led, rt2500pci_init_led()
248 led->rt2x00dev = rt2x00dev; rt2500pci_init_led()
249 led->type = type; rt2500pci_init_led()
250 led->led_dev.brightness_set = rt2500pci_brightness_set; rt2500pci_init_led()
251 led->led_dev.blink_set = rt2500pci_blink_set; rt2500pci_init_led()
252 led->flags = LED_INITIALIZED; rt2500pci_init_led()
1668 * Store led mode, for correct led behaviour. rt2500pci_init_eeprom()
244 rt2500pci_init_led(struct rt2x00_dev *rt2x00dev, struct rt2x00_led *led, enum led_type type) rt2500pci_init_led() argument
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8188ee/
H A DMakefile5 led.o \
H A Dled.c33 #include "led.h"
/linux-4.1.27/arch/mips/cobalt/
H A DMakefile5 obj-y := buttons.o irq.o lcd.o led.o mtd.o reset.o rtc.o serial.o setup.o time.o
/linux-4.1.27/arch/arm/plat-omap/
H A Ddebug-leds.c85 struct dbg_led *led = container_of(cdev, struct dbg_led, cdev); dbg_led_set() local
90 reg |= led->mask; dbg_led_set()
92 reg &= ~led->mask; dbg_led_set()
98 struct dbg_led *led = container_of(cdev, struct dbg_led, cdev); dbg_led_get() local
102 return (reg & led->mask) ? LED_FULL : LED_OFF; dbg_led_get()
118 struct dbg_led *led; fpga_probe() local
120 led = kzalloc(sizeof(*led), GFP_KERNEL); fpga_probe()
121 if (!led) fpga_probe()
124 led->cdev.name = dbg_leds[i].name; fpga_probe()
125 led->cdev.brightness_set = dbg_led_set; fpga_probe()
126 led->cdev.brightness_get = dbg_led_get; fpga_probe()
127 led->cdev.default_trigger = dbg_leds[i].trigger; fpga_probe()
128 led->mask = BIT(i); fpga_probe()
130 if (led_classdev_register(NULL, &led->cdev) < 0) { fpga_probe()
131 kfree(led); fpga_probe()
/linux-4.1.27/drivers/usb/misc/
H A Dusbled.c68 static void change_color(struct usb_led *led) change_color() argument
76 dev_err(&led->udev->dev, "out of memory\n"); change_color()
80 switch (led->type) { change_color()
84 if (led->blue) change_color()
86 if (led->red) change_color()
88 if (led->green) change_color()
90 dev_dbg(&led->udev->dev, change_color()
92 led->blue, led->red, led->green, color); change_color()
94 retval = usb_control_msg(led->udev, change_color()
95 usb_sndctrlpipe(led->udev, 0), change_color()
107 dev_dbg(&led->udev->dev, change_color()
109 led->red, led->green, led->blue); change_color()
111 buffer[0] = led->red; change_color()
112 buffer[1] = led->green; change_color()
113 buffer[2] = led->blue; change_color()
118 retval = usb_control_msg(led->udev, change_color()
119 usb_sndctrlpipe(led->udev, 0), change_color()
130 buffer[0] = RISO_KAGAKU_IX(led->red, led->green, led->blue); change_color()
136 retval = usb_interrupt_msg(led->udev, change_color()
137 usb_sndctrlpipe(led->udev, 2), change_color()
142 dev_err(&led->udev->dev, "unknown device type %d\n", led->type); change_color()
146 dev_dbg(&led->udev->dev, "retval = %d\n", retval); change_color()
155 struct usb_led *led = usb_get_intfdata(intf); \
157 return sprintf(buf, "%d\n", led->value); \
163 struct usb_led *led = usb_get_intfdata(intf); \
166 led->value = temp; \
167 change_color(led); \
/linux-4.1.27/drivers/net/wireless/iwlwifi/dvm/
H A Dled.c68 /* Set led register off */ iwlagn_led_enable()
75 * Adjust led blink rate to compensate on a MAC Clock difference on every HW
78 * Need to compensate on the led on/off time per HW according to the deviation
79 * to achieve the desired led frequency
115 /* Set led pattern command */ iwl_led_cmd()
133 /* led is SOLID_ON */ iwl_led_cmd()
155 struct iwl_priv *priv = container_of(led_cdev, struct iwl_priv, led); iwl_led_brightness_set()
168 struct iwl_priv *priv = container_of(led_cdev, struct iwl_priv, led); iwl_led_blink_set()
185 priv->led.name = kasprintf(GFP_KERNEL, "%s-led", iwl_leds_init()
187 priv->led.brightness_set = iwl_led_brightness_set; iwl_leds_init()
188 priv->led.blink_set = iwl_led_blink_set; iwl_leds_init()
189 priv->led.max_brightness = 1; iwl_leds_init()
196 priv->led.default_trigger = iwl_leds_init()
202 priv->led.default_trigger = iwl_leds_init()
207 ret = led_classdev_register(priv->trans->dev, &priv->led); iwl_leds_init()
209 kfree(priv->led.name); iwl_leds_init()
221 led_classdev_unregister(&priv->led); iwl_leds_exit()
222 kfree(priv->led.name); iwl_leds_exit()
/linux-4.1.27/arch/arm/mach-pxa/
H A Didp.c222 struct idp_led *led = container_of(cdev, idp_led_set() local
227 reg &= ~led->mask; idp_led_set()
229 reg |= led->mask; idp_led_set()
236 struct idp_led *led = container_of(cdev, idp_led_get() local
239 return (IDP_CPLD_LED_CONTROL & led->mask) ? LED_OFF : LED_FULL; idp_led_get()
250 struct idp_led *led; idp_leds_init() local
252 led = kzalloc(sizeof(*led), GFP_KERNEL); idp_leds_init()
253 if (!led) idp_leds_init()
256 led->cdev.name = idp_leds[i].name; idp_leds_init()
257 led->cdev.brightness_set = idp_led_set; idp_leds_init()
258 led->cdev.brightness_get = idp_led_get; idp_leds_init()
259 led->cdev.default_trigger = idp_leds[i].trigger; idp_leds_init()
262 led->mask = IDP_HB_LED; idp_leds_init()
264 led->mask = IDP_BUSY_LED; idp_leds_init()
266 if (led_classdev_register(NULL, &led->cdev) < 0) { idp_leds_init()
267 kfree(led); idp_leds_init()
H A Dlubbock.c538 struct lubbock_led *led = container_of(cdev, lubbock_led_set() local
543 reg |= led->mask; lubbock_led_set()
545 reg &= ~led->mask; lubbock_led_set()
552 struct lubbock_led *led = container_of(cdev, lubbock_led_get() local
556 return (reg & led->mask) ? LED_FULL : LED_OFF; lubbock_led_get()
569 struct lubbock_led *led; lubbock_leds_init() local
571 led = kzalloc(sizeof(*led), GFP_KERNEL); lubbock_leds_init()
572 if (!led) lubbock_leds_init()
575 led->cdev.name = lubbock_leds[i].name; lubbock_leds_init()
576 led->cdev.brightness_set = lubbock_led_set; lubbock_leds_init()
577 led->cdev.brightness_get = lubbock_led_get; lubbock_leds_init()
578 led->cdev.default_trigger = lubbock_leds[i].trigger; lubbock_leds_init()
579 led->mask = BIT(i); lubbock_leds_init()
581 if (led_classdev_register(NULL, &led->cdev) < 0) { lubbock_leds_init()
582 kfree(led); lubbock_leds_init()
H A Dmainstone.c598 struct mainstone_led *led = container_of(cdev, mainstone_led_set() local
603 reg |= led->mask; mainstone_led_set()
605 reg &= ~led->mask; mainstone_led_set()
612 struct mainstone_led *led = container_of(cdev, mainstone_led_get() local
616 return (reg & led->mask) ? LED_FULL : LED_OFF; mainstone_led_get()
629 struct mainstone_led *led; mainstone_leds_init() local
631 led = kzalloc(sizeof(*led), GFP_KERNEL); mainstone_leds_init()
632 if (!led) mainstone_leds_init()
635 led->cdev.name = mainstone_leds[i].name; mainstone_leds_init()
636 led->cdev.brightness_set = mainstone_led_set; mainstone_leds_init()
637 led->cdev.brightness_get = mainstone_led_get; mainstone_leds_init()
638 led->cdev.default_trigger = mainstone_leds[i].trigger; mainstone_leds_init()
639 led->mask = BIT(i); mainstone_leds_init()
641 if (led_classdev_register(NULL, &led->cdev) < 0) { mainstone_leds_init()
642 kfree(led); mainstone_leds_init()
H A Dpalmld.c97 GPIO52_GPIO, /* green led */
98 GPIO94_GPIO, /* orange led */
251 .name = "palmld:green:led", palmld_keys_init()
255 .name = "palmld:amber:led", palmld_keys_init()
H A Dlittleton.c368 .name = "da903x-led",
372 .name = "da903x-led",
376 .name = "da903x-led",
H A Dstargate2.c584 GPIO103_GPIO, /* red led */
585 GPIO104_GPIO, /* green led */
586 GPIO105_GPIO, /* blue led */
836 .name = "da903x-led",
840 .name = "da903x-led",
844 .name = "da903x-led",
H A Dmagician.c428 .led = {
437 .led = {
446 .led = {
/linux-4.1.27/drivers/net/wireless/rtl818x/rtl8187/
H A Dleds.c33 struct rtl8187_led *led = &priv->led_tx; led_turn_on() local
40 if (!led->dev) led_turn_on()
43 switch (led->ledpin) { led_turn_on()
71 struct rtl8187_led *led = &priv->led_tx; led_turn_off() local
78 if (!led->dev) led_turn_off()
81 switch (led->ledpin) { led_turn_off()
105 struct rtl8187_led *led = container_of(led_dev, struct rtl8187_led, rtl8187_led_brightness_set() local
107 struct ieee80211_hw *hw = led->dev; rtl8187_led_brightness_set()
114 if (led->is_radio) { rtl8187_led_brightness_set()
135 struct rtl8187_led *led, const char *name, rtl8187_register_led()
142 if (led->dev) rtl8187_register_led()
146 led->dev = dev; rtl8187_register_led()
147 led->ledpin = ledpin; rtl8187_register_led()
148 led->is_radio = is_radio; rtl8187_register_led()
149 strncpy(led->name, name, sizeof(led->name)); rtl8187_register_led()
151 led->led_dev.name = led->name; rtl8187_register_led()
152 led->led_dev.default_trigger = default_trigger; rtl8187_register_led()
153 led->led_dev.brightness_set = rtl8187_led_brightness_set; rtl8187_register_led()
155 err = led_classdev_register(&priv->udev->dev, &led->led_dev); rtl8187_register_led()
158 led->dev = NULL; rtl8187_register_led()
164 static void rtl8187_unregister_led(struct rtl8187_led *led) rtl8187_unregister_led() argument
166 struct ieee80211_hw *hw = led->dev; rtl8187_unregister_led()
169 led_classdev_unregister(&led->led_dev); rtl8187_unregister_led()
171 led->dev = NULL; rtl8187_unregister_led()
134 rtl8187_register_led(struct ieee80211_hw *dev, struct rtl8187_led *led, const char *name, const char *default_trigger, u8 ledpin, bool is_radio) rtl8187_register_led() argument
H A Dleds.h46 /* The pin/method used to control the led */
/linux-4.1.27/drivers/net/wireless/b43legacy/
H A Dleds.c72 struct b43legacy_led *led = container_of(led_dev, struct b43legacy_led, b43legacy_led_brightness_set() local
74 struct b43legacy_wldev *dev = led->dev; b43legacy_led_brightness_set()
83 b43legacy_led_turn_off(dev, led->index, led->activelow); b43legacy_led_brightness_set()
85 b43legacy_led_turn_on(dev, led->index, led->activelow); b43legacy_led_brightness_set()
89 struct b43legacy_led *led, b43legacy_register_led()
97 if (led->dev) b43legacy_register_led()
101 led->dev = dev; b43legacy_register_led()
102 led->index = led_index; b43legacy_register_led()
103 led->activelow = activelow; b43legacy_register_led()
104 strncpy(led->name, name, sizeof(led->name)); b43legacy_register_led()
106 led->led_dev.name = led->name; b43legacy_register_led()
107 led->led_dev.default_trigger = default_trigger; b43legacy_register_led()
108 led->led_dev.brightness_set = b43legacy_led_brightness_set; b43legacy_register_led()
110 err = led_classdev_register(dev->dev->dev, &led->led_dev); b43legacy_register_led()
113 led->dev = NULL; b43legacy_register_led()
119 static void b43legacy_unregister_led(struct b43legacy_led *led) b43legacy_unregister_led() argument
121 if (!led->dev) b43legacy_unregister_led()
123 led_classdev_unregister(&led->led_dev); b43legacy_unregister_led()
124 b43legacy_led_turn_off(led->dev, led->index, led->activelow); b43legacy_unregister_led()
125 led->dev = NULL; b43legacy_unregister_led()
88 b43legacy_register_led(struct b43legacy_wldev *dev, struct b43legacy_led *led, const char *name, const char *default_trigger, u8 led_index, bool activelow) b43legacy_register_led() argument
/linux-4.1.27/include/linux/
H A Dthinkpad_acpi.h5 (e g -ENODEV if no led present) */
H A Dkeyboard.h14 int ledstate; /* Current led state */
H A Dleds-lp3944.h2 * leds-lp3944.h - platform data structure for lp3944 led controller
H A Dleds-pca9532.h2 * pca9532.h - platform data structure for pca9532 led controller
H A Dled-class-flash.h21 * Supported led fault bits - must be kept in synch
70 /* led class device */
73 /* flash led specific ops */
H A Dkbd_kern.h67 extern void setledstate(struct kbd_struct *kbd, unsigned int led);
71 extern void (*kbd_ledfunc)(unsigned int led);
H A Dled-lm3530.h89 * @brt_ramp_fall: rate of fall of led current
90 * @brt_ramp_rise: rate of rise of led current
H A Dleds.h2 * Driver model for leds and led triggers
138 * @invert: blink off, then on, leaving the led on
144 * If invert is set, led blinks for delay_off first, then for
145 * delay_on and leave the led on after the on-off cycle.
/linux-4.1.27/drivers/net/wireless/brcm80211/brcmsmac/
H A Dled.c8 #include "led.h"
75 u8 led = *leds[i]; brcms_led_register() local
76 if ((led & BRCMS_LED_BEH_MASK) == BRCMS_LED_RADIO) { brcms_led_register()
78 if (led & BRCMS_LED_AL_MASK) brcms_led_register()
93 wiphy_err(wl->wiphy, "requesting led gpio %d failed (err: %d)\n", brcms_led_register()
99 wiphy_err(wl->wiphy, "cannot set led gpio %d to output (err: %d)\n", brcms_led_register()
114 wiphy_err(wl->wiphy, "cannot register led device: %s (err: %d)\n", brcms_led_register()
119 wiphy_info(wl->wiphy, "registered radio enabled led device: %s gpio: %d\n", brcms_led_register()
H A DMakefile46 brcmsmac-$(CONFIG_BCMA_DRIVER_GPIO) += led.o
H A Dmac80211_if.h26 #include "led.h"
/linux-4.1.27/arch/mips/sgi-ip32/
H A Dip32-reset.c75 unsigned long led = mace->perif.ctrl.misc ^ MACEISA_LED_RED; blink_timeout() local
76 mace->perif.ctrl.misc = led; blink_timeout()
113 unsigned long led; panic_event() local
120 led = mace->perif.ctrl.misc | MACEISA_LED_GREEN; panic_event()
121 mace->perif.ctrl.misc = led; panic_event()
135 /* turn on the green led only */ ip32_reboot_setup()
136 unsigned long led = mace->perif.ctrl.misc; ip32_reboot_setup() local
137 led |= MACEISA_LED_RED; ip32_reboot_setup()
138 led &= ~MACEISA_LED_GREEN; ip32_reboot_setup()
139 mace->perif.ctrl.misc = led; ip32_reboot_setup()
/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/
H A Dled.c69 /* Set led register on */ iwl_mvm_led_enable()
75 /* Set led register off */ iwl_mvm_led_disable()
84 struct iwl_mvm *mvm = container_of(led_cdev, struct iwl_mvm, led); iwl_led_brightness_set()
98 IWL_ERR(mvm, "Blink led mode not supported, used default\n"); iwl_mvm_leds_init()
110 mvm->led.name = kasprintf(GFP_KERNEL, "%s-led", iwl_mvm_leds_init()
112 mvm->led.brightness_set = iwl_led_brightness_set; iwl_mvm_leds_init()
113 mvm->led.max_brightness = 1; iwl_mvm_leds_init()
116 mvm->led.default_trigger = iwl_mvm_leds_init()
119 ret = led_classdev_register(mvm->trans->dev, &mvm->led); iwl_mvm_leds_init()
121 kfree(mvm->led.name); iwl_mvm_leds_init()
122 IWL_INFO(mvm, "Failed to enable led\n"); iwl_mvm_leds_init()
134 led_classdev_unregister(&mvm->led); iwl_mvm_leds_exit()
135 kfree(mvm->led.name); iwl_mvm_leds_exit()
/linux-4.1.27/drivers/pinctrl/mvebu/
H A Dpinctrl-armada-375.c55 MPP_FUNCTION(0x3, "led", "c0"),
63 MPP_FUNCTION(0x3, "led", "p3"),
83 MPP_FUNCTION(0x3, "led", "p1"),
90 MPP_FUNCTION(0x3, "led", "p2"),
107 MPP_FUNCTION(0x3, "led", "c1"),
113 MPP_FUNCTION(0x3, "led", "c2"),
162 MPP_FUNCTION(0x1, "led", "p0"),
170 MPP_FUNCTION(0x1, "led", "p2"),
183 MPP_FUNCTION(0x6, "led", "c1")),
191 MPP_FUNCTION(0x6, "led", "c2")),
194 MPP_FUNCTION(0x1, "led", "p3"),
209 MPP_FUNCTION(0x5, "led", "p3"),
215 MPP_FUNCTION(0x5, "led", "p0")),
221 MPP_FUNCTION(0x5, "led", "c0")),
226 MPP_FUNCTION(0x5, "led", "p2")),
231 MPP_FUNCTION(0x5, "led", "c1")),
237 MPP_FUNCTION(0x5, "led", "p1")),
241 MPP_FUNCTION(0x5, "led", "c2")),
254 MPP_FUNCTION(0x5, "led", "p3")),
258 MPP_FUNCTION(0x5, "led", "p0")),
262 MPP_FUNCTION(0x5, "led", "p1")),
266 MPP_FUNCTION(0x4, "led", "c0"),
272 MPP_FUNCTION(0x5, "led", "c1")),
280 MPP_FUNCTION(0x5, "led", "c2"),
284 MPP_FUNCTION(0x1, "led", "p0"),
290 MPP_FUNCTION(0x1, "led", "p1"),
297 MPP_FUNCTION(0x1, "led", "p2"),
303 MPP_FUNCTION(0x1, "led", "p3"),
309 MPP_FUNCTION(0x1, "led", "c0"),
316 MPP_FUNCTION(0x1, "led", "c1"),
322 MPP_FUNCTION(0x1, "led", "c2"),
357 MPP_FUNCTION(0x4, "led", "c0")),
360 MPP_FUNCTION(0x4, "led", "c1")),
364 MPP_FUNCTION(0x4, "led", "c2"),
371 MPP_FUNCTION(0x4, "led", "p0"),
376 MPP_FUNCTION(0x4, "led", "p1"),
381 MPP_FUNCTION(0x4, "led", "p2"),
386 MPP_FUNCTION(0x4, "led", "p3")),
H A Dpinctrl-armada-39x.c89 MPP_VAR_FUNCTION(7, "led", "clk", V_88F6920_PLUS)),
94 MPP_VAR_FUNCTION(7, "led", "stb", V_88F6920_PLUS)),
98 MPP_VAR_FUNCTION(7, "led", "data", V_88F6920_PLUS)),
263 MPP_VAR_FUNCTION(7, "led", "clk", V_88F6920_PLUS)),
274 MPP_VAR_FUNCTION(7, "led", "stb", V_88F6920_PLUS)),
279 MPP_VAR_FUNCTION(7, "led", "data", V_88F6920_PLUS)),
/linux-4.1.27/drivers/net/wireless/ath/ath5k/
H A Dled.c116 struct ath5k_led *led = container_of(led_dev, struct ath5k_led, ath5k_led_brightness_set() local
120 ath5k_led_off(led->ah); ath5k_led_brightness_set()
122 ath5k_led_on(led->ah); ath5k_led_brightness_set()
126 ath5k_register_led(struct ath5k_hw *ah, struct ath5k_led *led, ath5k_register_led() argument
131 led->ah = ah; ath5k_register_led()
132 strncpy(led->name, name, sizeof(led->name)); ath5k_register_led()
133 led->name[sizeof(led->name)-1] = 0; ath5k_register_led()
134 led->led_dev.name = led->name; ath5k_register_led()
135 led->led_dev.default_trigger = trigger; ath5k_register_led()
136 led->led_dev.brightness_set = ath5k_led_brightness_set; ath5k_register_led()
138 err = led_classdev_register(ah->dev, &led->led_dev); ath5k_register_led()
141 led->ah = NULL; ath5k_register_led()
147 ath5k_unregister_led(struct ath5k_led *led) ath5k_unregister_led() argument
149 if (!led->ah) ath5k_unregister_led()
151 led_classdev_unregister(&led->led_dev); ath5k_unregister_led()
152 ath5k_led_off(led->ah); ath5k_unregister_led()
153 led->ah = NULL; ath5k_unregister_led()
H A Dgpio.c39 * GPIO pins, we handle them through the LED subsystem on led.c
44 * ath5k_hw_set_ledstate() - Set led state
55 u32 led; ath5k_hw_set_ledstate() local
56 /*5210 has different led mode handling*/ ath5k_hw_set_ledstate()
59 /*Reset led status*/ ath5k_hw_set_ledstate()
72 led = AR5K_PCICFG_LEDMODE_PROP | AR5K_PCICFG_LED_PEND; ath5k_hw_set_ledstate()
77 led = AR5K_PCICFG_LEDMODE_PROP | AR5K_PCICFG_LED_NONE; ath5k_hw_set_ledstate()
83 led = AR5K_PCICFG_LEDMODE_PROP | AR5K_PCICFG_LED_ASSOC; ath5k_hw_set_ledstate()
88 led = AR5K_PCICFG_LEDMODE_PROM | AR5K_PCICFG_LED_NONE; ath5k_hw_set_ledstate()
95 AR5K_REG_ENABLE_BITS(ah, AR5K_PCICFG, led); ath5k_hw_set_ledstate()
/linux-4.1.27/drivers/hid/usbhid/
H A Dusbkbd.c77 * @led: URB for sending LEDs (e.g. numlock, ...)
78 * @newleds: data that will be sent with the @led URB representing which LEDs
84 * @cr: Control request for @led URB
85 * @leds: Buffer for the @led URB
87 * @leds_dma: DMA address for @led URB
89 * @led_urb_submitted: indicates whether @led is in progress, i.e. it has been
91 * without resubmitting @led
97 struct urb *irq, *led; member in struct:usb_kbd
176 kbd->newleds = (!!test_bit(LED_KANA, dev->led) << 3) | (!!test_bit(LED_COMPOSE, dev->led) << 3) | usb_kbd_event()
177 (!!test_bit(LED_SCROLLL, dev->led) << 2) | (!!test_bit(LED_CAPSL, dev->led) << 1) | usb_kbd_event()
178 (!!test_bit(LED_NUML, dev->led)); usb_kbd_event()
192 kbd->led->dev = kbd->usbdev; usb_kbd_event()
193 if (usb_submit_urb(kbd->led, GFP_ATOMIC)) usb_kbd_event()
209 hid_warn(urb->dev, "led urb status %d received\n", usb_kbd_led()
222 kbd->led->dev = kbd->usbdev; usb_kbd_led()
223 if (usb_submit_urb(kbd->led, GFP_ATOMIC)){ usb_kbd_led()
253 if (!(kbd->led = usb_alloc_urb(0, GFP_KERNEL))) usb_kbd_alloc_mem()
268 usb_free_urb(kbd->led); usb_kbd_free_mem()
360 usb_fill_control_urb(kbd->led, dev, usb_sndctrlpipe(dev, 0), usb_kbd_probe()
363 kbd->led->transfer_dma = kbd->leds_dma; usb_kbd_probe()
364 kbd->led->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; usb_kbd_probe()
390 usb_kill_urb(kbd->led); usb_kbd_disconnect()
/linux-4.1.27/drivers/input/keyboard/
H A Dqt2160.c88 struct qt2160_led *led = container_of(work, struct qt2160_led, work); qt2160_led_work() local
89 struct qt2160_data *qt2160 = led->qt2160; qt2160_led_work()
91 int value = led->new_brightness; qt2160_led_work()
99 drive |= (1 << led->id); qt2160_led_work()
100 pwmen |= (1 << led->id); qt2160_led_work()
103 drive &= ~(1 << led->id); qt2160_led_work()
104 pwmen &= ~(1 << led->id); qt2160_led_work()
122 struct qt2160_led *led = container_of(cdev, struct qt2160_led, cdev); qt2160_led_set() local
124 led->new_brightness = value; qt2160_led_set()
125 schedule_work(&led->work); qt2160_led_set()
299 struct qt2160_led *led = &qt2160->leds[i]; qt2160_register_leds() local
301 snprintf(led->name, sizeof(led->name), "qt2160:x%d", i); qt2160_register_leds()
302 led->cdev.name = led->name; qt2160_register_leds()
303 led->cdev.brightness_set = qt2160_led_set; qt2160_register_leds()
304 led->cdev.brightness = LED_OFF; qt2160_register_leds()
305 led->id = i; qt2160_register_leds()
306 led->qt2160 = qt2160; qt2160_register_leds()
308 INIT_WORK(&led->work, qt2160_led_work); qt2160_register_leds()
310 ret = led_classdev_register(&client->dev, &led->cdev); qt2160_register_leds()
H A Dsunkbd.c164 (!!test_bit(LED_CAPSL, dev->led) << 3) | sunkbd_event()
165 (!!test_bit(LED_SCROLLL, dev->led) << 2) | sunkbd_event()
166 (!!test_bit(LED_COMPOSE, dev->led) << 1) | sunkbd_event()
167 !!test_bit(LED_NUML, dev->led)); sunkbd_event()
231 (!!test_bit(LED_CAPSL, sunkbd->dev->led) << 3) | sunkbd_reinit()
232 (!!test_bit(LED_SCROLLL, sunkbd->dev->led) << 2) | sunkbd_reinit()
233 (!!test_bit(LED_COMPOSE, sunkbd->dev->led) << 1) | sunkbd_reinit()
234 !!test_bit(LED_NUML, sunkbd->dev->led)); sunkbd_reinit()
/linux-4.1.27/drivers/media/dvb-frontends/
H A Dau8522_common.c166 /* led = 0 | off
167 * led = 1 | signal ok
168 * led = 2 | signal strong
169 * led < 0 | only light led if leds are currently off
171 int au8522_led_ctrl(struct au8522_state *state, int led) au8522_led_ctrl() argument
181 if (led < 0) { au8522_led_ctrl()
186 led *= -1; au8522_led_ctrl()
190 if (state->led_state != led) { au8522_led_ctrl()
193 dprintk("%s: %d\n", __func__, led); au8522_led_ctrl()
205 if (led < led_config->num_led_states) au8522_led_ctrl()
206 val |= led_config->led_states[led]; au8522_led_ctrl()
216 state->led_state = led; au8522_led_ctrl()
218 if (led == 0) au8522_led_ctrl()
260 /* turn off led */ au8522_sleep()
H A Dau8522_dig.c708 int led; au8522_led_status() local
725 led = 2; au8522_led_status()
727 led = 1; au8522_led_status()
732 * changing the color of the led */ au8522_led_status()
735 return au8522_led_ctrl(state, led); au8522_led_status()
/linux-4.1.27/arch/sparc/kernel/
H A Dled.c118 static struct proc_dir_entry *led; variable in typeref:struct:proc_dir_entry
127 led = proc_create("led", 0, NULL, &led_proc_fops); led_init()
128 if (!led) led_init()
132 "led: version %s, Lars Kotthoff <metalhead@metalhead.ws>\n", led_init()
140 remove_proc_entry("led", NULL); led_exit()
H A DMakefile89 obj-$(CONFIG_SPARC_LED) += led.o
/linux-4.1.27/drivers/net/can/
H A DMakefile11 can-dev-$(CONFIG_CAN_LEDS) += led.o
H A Dled.c17 #include <linux/can/led.h>
102 /* NETDEV rename notifier to rename the associated led triggers too */ can_led_notifier()
/linux-4.1.27/drivers/staging/rtl8188eu/include/
H A Drtw_led.h69 u32 BlinkTimes; /* Number of times to toggle led state for blinking. */
71 struct timer_list BlinkTimer; /* Timer object for led blinking. */
92 /* add for led control */
97 /* add for led control */
/linux-4.1.27/net/mac80211/
H A DMakefile35 mac80211-$(CONFIG_MAC80211_LEDS) += led.o
H A Dpm.c7 #include "led.h"
/linux-4.1.27/drivers/video/backlight/
H A Dadp8860_bl.c109 struct adp8860_led *led; member in struct:adp8860_bl
183 struct adp8860_led *led = container_of(work, struct adp8860_led, work); adp8860_led_work() local
185 adp8860_write(led->client, ADP8860_ISC1 - led->id + 1, adp8860_led_work()
186 led->new_brightness >> 1); adp8860_led_work()
192 struct adp8860_led *led; adp8860_led_set() local
194 led = container_of(led_cdev, struct adp8860_led, cdev); adp8860_led_set()
195 led->new_brightness = value; adp8860_led_set()
196 schedule_work(&led->work); adp8860_led_set()
199 static int adp8860_led_setup(struct adp8860_led *led) adp8860_led_setup() argument
201 struct i2c_client *client = led->client; adp8860_led_setup()
204 ret = adp8860_write(client, ADP8860_ISC1 - led->id + 1, 0); adp8860_led_setup()
205 ret |= adp8860_set_bits(client, ADP8860_ISCC, 1 << (led->id - 1)); adp8860_led_setup()
207 if (led->id > 4) adp8860_led_setup()
209 (led->flags & 0x3) << ((led->id - 5) * 2)); adp8860_led_setup()
212 (led->flags & 0x3) << ((led->id - 1) * 2)); adp8860_led_setup()
222 struct adp8860_led *led, *led_dat; adp8860_led_probe() local
226 led = devm_kzalloc(&client->dev, sizeof(*led) * pdata->num_leds, adp8860_led_probe()
228 if (led == NULL) adp8860_led_probe()
244 led_dat = &led[i]; adp8860_led_probe()
286 data->led = led; adp8860_led_probe()
292 led_classdev_unregister(&led[i].cdev); adp8860_led_probe()
293 cancel_work_sync(&led[i].work); adp8860_led_probe()
307 led_classdev_unregister(&data->led[i].cdev); adp8860_led_remove()
308 cancel_work_sync(&data->led[i].work); adp8860_led_remove()
766 if (data->led) adp8860_remove()
H A Dadp8870_bl.c111 struct adp8870_led *led; member in struct:adp8870_bl
198 struct adp8870_led *led = container_of(work, struct adp8870_led, work); adp8870_led_work() local
200 adp8870_write(led->client, ADP8870_ISC1 + led->id - 1, adp8870_led_work()
201 led->new_brightness >> 1); adp8870_led_work()
207 struct adp8870_led *led; adp8870_led_set() local
209 led = container_of(led_cdev, struct adp8870_led, cdev); adp8870_led_set()
210 led->new_brightness = value; adp8870_led_set()
214 schedule_work(&led->work); adp8870_led_set()
217 static int adp8870_led_setup(struct adp8870_led *led) adp8870_led_setup() argument
219 struct i2c_client *client = led->client; adp8870_led_setup()
222 ret = adp8870_write(client, ADP8870_ISC1 + led->id - 1, 0); adp8870_led_setup()
226 ret = adp8870_set_bits(client, ADP8870_ISCC, 1 << (led->id - 1)); adp8870_led_setup()
230 if (led->id > 4) adp8870_led_setup()
232 (led->flags & 0x3) << ((led->id - 5) * 2)); adp8870_led_setup()
235 (led->flags & 0x3) << ((led->id - 1) * 2)); adp8870_led_setup()
245 struct adp8870_led *led, *led_dat; adp8870_led_probe() local
249 led = devm_kzalloc(&client->dev, pdata->num_leds * sizeof(*led), adp8870_led_probe()
251 if (led == NULL) adp8870_led_probe()
270 led_dat = &led[i]; adp8870_led_probe()
312 data->led = led; adp8870_led_probe()
318 led_classdev_unregister(&led[i].cdev); adp8870_led_probe()
319 cancel_work_sync(&led[i].work); adp8870_led_probe()
333 led_classdev_unregister(&data->led[i].cdev); adp8870_led_remove()
334 cancel_work_sync(&data->led[i].work); adp8870_led_remove()
941 if (data->led) adp8870_remove()
H A Dsky81452-backlight.c198 ret = of_property_count_u32_elems(np, "led-sources"); sky81452_bl_parse_dt()
206 ret = of_property_read_u32_array(np, "led-sources", sources, sky81452_bl_parse_dt()
209 dev_err(dev, "led-sources node is invalid.\n"); sky81452_bl_parse_dt()
/linux-4.1.27/sound/usb/line6/
H A Dtoneport.c275 For the led on Guitarport.
276 Brightness goes from 0x00 to 0x26. Set a value above this to have led
318 struct toneport_led *led = &toneport->leds[i]; toneport_init_leds() local
319 struct led_classdev *leddev = &led->dev; toneport_init_leds()
321 led->toneport = toneport; toneport_init_leds()
322 snprintf(led->name, sizeof(led->name), "%s::%s", toneport_init_leds()
324 leddev->name = led->name; toneport_init_leds()
331 led->registered = true; toneport_init_leds()
339 struct toneport_led *led; toneport_remove_leds() local
343 led = &toneport->leds[i]; toneport_remove_leds()
344 if (!led->registered) toneport_remove_leds()
346 led_classdev_unregister(&led->dev); toneport_remove_leds()
347 led->registered = false; toneport_remove_leds()
/linux-4.1.27/arch/arm/mach-sa1100/
H A Dassabet.c694 struct assabet_led *led = container_of(cdev, assabet_led_set() local
698 ASSABET_BCR_clear(led->mask); assabet_led_set()
700 ASSABET_BCR_set(led->mask); assabet_led_set()
705 struct assabet_led *led = container_of(cdev, assabet_led_get() local
708 return (ASSABET_BCR & led->mask) ? LED_OFF : LED_FULL; assabet_led_get()
719 struct assabet_led *led; assabet_leds_init() local
721 led = kzalloc(sizeof(*led), GFP_KERNEL); assabet_leds_init()
722 if (!led) assabet_leds_init()
725 led->cdev.name = assabet_leds[i].name; assabet_leds_init()
726 led->cdev.brightness_set = assabet_led_set; assabet_leds_init()
727 led->cdev.brightness_get = assabet_led_get; assabet_leds_init()
728 led->cdev.default_trigger = assabet_leds[i].trigger; assabet_leds_init()
731 led->mask = ASSABET_BCR_LED_RED; assabet_leds_init()
733 led->mask = ASSABET_BCR_LED_GREEN; assabet_leds_init()
735 if (led_classdev_register(NULL, &led->cdev) < 0) { assabet_leds_init()
736 kfree(led); assabet_leds_init()
/linux-4.1.27/drivers/media/rc/
H A Dttusbir.c46 struct led_classdev led; member in struct:ttusbir
58 struct ttusbir *tt = container_of(led_dev, struct ttusbir, led); ttusbir_brightness_get()
84 struct ttusbir *tt = container_of(led_dev, struct ttusbir, led); ttusbir_brightness_set()
304 tt->led.name = "ttusbir:green:power"; ttusbir_probe()
305 tt->led.default_trigger = "rc-feedback"; ttusbir_probe()
306 tt->led.brightness_set = ttusbir_brightness_set; ttusbir_probe()
307 tt->led.brightness_get = ttusbir_brightness_get; ttusbir_probe()
310 ret = led_classdev_register(&intf->dev, &tt->led); ttusbir_probe()
353 led_classdev_unregister(&tt->led); ttusbir_probe()
382 led_classdev_unregister(&tt->led); ttusbir_disconnect()
403 led_classdev_suspend(&tt->led); ttusbir_suspend()
415 led_classdev_resume(&tt->led); ttusbir_resume()
H A Dwinbond-cir.c206 struct led_classdev led; member in struct:wbcir_data
292 led); wbcir_led_brightness_get()
306 led); wbcir_led_brightness_set()
880 led_classdev_suspend(&data->led); wbcir_suspend()
893 /* Set PROT_SEL, RX_INV, Clear CEIR_EN (needed for the led) */ wbcir_init_hw()
1009 led_classdev_resume(&data->led); wbcir_resume()
1053 data->led.name = "cir::activity"; wbcir_probe()
1054 data->led.default_trigger = "rc-feedback"; wbcir_probe()
1055 data->led.brightness_set = wbcir_led_brightness_set; wbcir_probe()
1056 data->led.brightness_get = wbcir_led_brightness_get; wbcir_probe()
1057 err = led_classdev_register(&device->dev, &data->led); wbcir_probe()
1138 led_classdev_unregister(&data->led); wbcir_probe()
1166 led_classdev_unregister(&data->led); wbcir_remove()
1168 /* This is ok since &data->led isn't actually used */ wbcir_remove()
1169 wbcir_led_brightness_set(&data->led, LED_OFF); wbcir_remove()
H A Dredrat3.c168 /* led control */
169 struct led_classdev led; member in struct:redrat3_dev
821 led); redrat3_brightness_set()
851 rr3->led.brightness = LED_OFF; redrat3_led_complete()
998 /* led control */ redrat3_dev_probe()
999 rr3->led.name = "redrat3:red:feedback"; redrat3_dev_probe()
1000 rr3->led.default_trigger = "rc-feedback"; redrat3_dev_probe()
1001 rr3->led.brightness_set = redrat3_brightness_set; redrat3_dev_probe()
1002 retval = led_classdev_register(&intf->dev, &rr3->led); redrat3_dev_probe()
1036 led_classdev_unregister(&rr3->led); redrat3_dev_probe()
1056 led_classdev_unregister(&rr3->led); redrat3_dev_disconnect()
1065 led_classdev_suspend(&rr3->led); redrat3_dev_suspend()
1077 led_classdev_resume(&rr3->led); redrat3_dev_resume()
/linux-4.1.27/include/media/
H A Dadp1653.h103 u32 max_flash_intensity; /* led intensity, flash mode */
104 u32 max_torch_intensity; /* led intensity, torch mode */
105 u32 max_indicator_intensity; /* indicator led intensity */
H A Dlm3560.h86 * @max_flash_brt: flash mode led brightness
87 * @max_torch_brt: torch mode led brightness
/linux-4.1.27/drivers/staging/rtl8712/
H A Drtl871x_led.h87 enum LED_PIN_871x LedPin; /* Implementation for this SW led. */
101 struct timer_list BlinkTimer; /* Timer object for led blinking.*/
106 /* add for led control */
113 /* add for led control */
/linux-4.1.27/arch/arm/mach-davinci/
H A Dboard-dm365-evm.c577 struct cpld_led *led = container_of(cdev, struct cpld_led, cdev); cpld_led_set() local
581 reg &= ~led->mask; cpld_led_set()
583 reg |= led->mask; cpld_led_set()
589 struct cpld_led *led = container_of(cdev, struct cpld_led, cdev); cpld_led_get() local
592 return (reg & led->mask) ? LED_OFF : LED_FULL; cpld_led_get()
605 struct cpld_led *led; cpld_leds_init() local
607 led = kzalloc(sizeof(*led), GFP_KERNEL); cpld_leds_init()
608 if (!led) cpld_leds_init()
611 led->cdev.name = cpld_leds[i].name; cpld_leds_init()
612 led->cdev.brightness_set = cpld_led_set; cpld_leds_init()
613 led->cdev.brightness_get = cpld_led_get; cpld_leds_init()
614 led->cdev.default_trigger = cpld_leds[i].trigger; cpld_leds_init()
615 led->mask = BIT(i); cpld_leds_init()
617 if (led_classdev_register(NULL, &led->cdev) < 0) { cpld_leds_init()
618 kfree(led); cpld_leds_init()
/linux-4.1.27/drivers/media/usb/dvb-usb/
H A Dtechnisat-usb2.c227 u8 led[8] = { technisat_usb2_set_led() local
237 led[1] = 0x82; technisat_usb2_set_led()
240 led[1] = 0x82; technisat_usb2_set_led()
242 led[2] = 0x02; technisat_usb2_set_led()
243 led[3] = 10; technisat_usb2_set_led()
244 led[4] = 10; technisat_usb2_set_led()
246 led[2] = 0xff; technisat_usb2_set_led()
247 led[3] = 50; technisat_usb2_set_led()
248 led[4] = 50; technisat_usb2_set_led()
250 led[5] = 1; technisat_usb2_set_led()
255 led[1] = 0x80; technisat_usb2_set_led()
266 led, sizeof(led), 500); technisat_usb2_set_led()
367 /* green led is turned off in any case - will be turned on when tuning */ technisat_usb2_power_ctrl()
369 /* red led is turned on all the time */ technisat_usb2_power_ctrl()
/linux-4.1.27/arch/arm/mach-imx/
H A Dmach-mx31moboard.c227 .name = "coreboard-led-4:red",
231 .name = "coreboard-led-4:green",
235 .name = "coreboard-led-4:blue",
239 .name = "coreboard-led-5:red",
243 .name = "coreboard-led-5:green",
247 .name = "coreboard-led-5:blue",
253 .led = moboard_led,
444 .name = "coreboard-led-0:red:running",
448 .name = "coreboard-led-1:red",
451 .name = "coreboard-led-2:red",
454 .name = "coreboard-led-3:red",
/linux-4.1.27/drivers/media/usb/as102/
H A Das102_usb_drv.h44 /* Sky Italia: Digital Key (green led) */
45 #define AS102_SKY_IT_DIGITAL_KEY_NAME "Sky IT Digital Key (green led)"
/linux-4.1.27/drivers/platform/x86/
H A Dasus-laptop.c33 * Thomas Tuttle - His first patch for led support was very helpful
88 "(unknown, led or rfkill). "
93 "(unknown, led or rfkill). "
227 * Define a specific led structure to keep the main structure clean
232 struct led_classdev led; member in struct:asus_led
566 /* /sys/class/led handlers */ asus_led_cdev_set()
570 struct asus_led *led = container_of(led_cdev, struct asus_led, led); asus_led_cdev_set() local
571 struct asus_laptop *asus = led->asus; asus_led_cdev_set()
573 led->wk = !!value; asus_led_cdev_set()
574 queue_work(asus->led_workqueue, &led->work); asus_led_cdev_set()
579 struct asus_led *led = container_of(work, struct asus_led, work); asus_led_cdev_update() local
580 struct asus_laptop *asus = led->asus; asus_led_cdev_update()
582 asus_led_set(asus, led->method, led->wk); asus_led_cdev_update()
631 struct asus_led *led = container_of(led_cdev, struct asus_led, led); asus_kled_cdev_set() local
632 struct asus_laptop *asus = led->asus; asus_kled_cdev_set()
634 led->wk = value; asus_kled_cdev_set()
635 queue_work(asus->led_workqueue, &led->work); asus_kled_cdev_set()
640 struct asus_led *led = container_of(work, struct asus_led, work); asus_kled_cdev_update() local
641 struct asus_laptop *asus = led->asus; asus_kled_cdev_update()
643 asus_kled_set(asus, led->wk); asus_kled_cdev_update()
648 struct asus_led *led = container_of(led_cdev, struct asus_led, led); asus_kled_cdev_get() local
649 struct asus_laptop *asus = led->asus; asus_kled_cdev_get()
656 if (!IS_ERR_OR_NULL(asus->wled.led.dev)) asus_led_exit()
657 led_classdev_unregister(&asus->wled.led); asus_led_exit()
658 if (!IS_ERR_OR_NULL(asus->bled.led.dev)) asus_led_exit()
659 led_classdev_unregister(&asus->bled.led); asus_led_exit()
660 if (!IS_ERR_OR_NULL(asus->mled.led.dev)) asus_led_exit()
661 led_classdev_unregister(&asus->mled.led); asus_led_exit()
662 if (!IS_ERR_OR_NULL(asus->tled.led.dev)) asus_led_exit()
663 led_classdev_unregister(&asus->tled.led); asus_led_exit()
664 if (!IS_ERR_OR_NULL(asus->pled.led.dev)) asus_led_exit()
665 led_classdev_unregister(&asus->pled.led); asus_led_exit()
666 if (!IS_ERR_OR_NULL(asus->rled.led.dev)) asus_led_exit()
667 led_classdev_unregister(&asus->rled.led); asus_led_exit()
668 if (!IS_ERR_OR_NULL(asus->gled.led.dev)) asus_led_exit()
669 led_classdev_unregister(&asus->gled.led); asus_led_exit()
670 if (!IS_ERR_OR_NULL(asus->kled.led.dev)) asus_led_exit()
671 led_classdev_unregister(&asus->kled.led); asus_led_exit()
680 struct asus_led *led, asus_led_register()
683 struct led_classdev *led_cdev = &led->led; asus_led_register()
688 led->asus = asus; asus_led_register()
689 led->method = method; asus_led_register()
691 INIT_WORK(&led->work, asus_led_cdev_update); asus_led_register()
747 struct asus_led *led = &asus->kled; asus_led_init() local
748 struct led_classdev *cdev = &led->led; asus_led_init()
750 led->asus = asus; asus_led_init()
752 INIT_WORK(&led->work, asus_kled_cdev_update); asus_led_init()
1796 if (!strcmp(bled_type, "led")) asus_acpi_init()
1801 if (!strcmp(wled_type, "led")) asus_acpi_init()
679 asus_led_register(struct asus_laptop *asus, struct asus_led *led, const char *name, const char *method) asus_led_register() argument
/linux-4.1.27/include/uapi/linux/
H A Dkd.h27 #define KDGETLED 0x4B31 /* return current led state */
28 #define KDSETLED 0x4B32 /* set led state [lights, not flags] */
29 #define LED_SCR 0x01 /* scroll lock led */
30 #define LED_NUM 0x02 /* num lock led */
31 #define LED_CAP 0x04 /* caps lock led */
96 #define KDGKBLED 0x4B64 /* get led flags (not lights) */
97 #define KDSKBLED 0x4B65 /* set led flags (not lights) */
/linux-4.1.27/drivers/net/ethernet/sfc/
H A Dphy.h37 void falcon_qt202x_set_led(struct efx_nic *p, int led, int state);
/linux-4.1.27/drivers/regulator/
H A Dwm8350-regulator.c1298 struct wm8350_led *led; wm8350_register_led() local
1302 if (lednum >= ARRAY_SIZE(wm8350->pmic.led) || lednum < 0) { wm8350_register_led()
1307 led = &wm8350->pmic.led[lednum]; wm8350_register_led()
1309 if (led->pdev) { wm8350_register_led()
1314 pdev = platform_device_alloc("wm8350-led", lednum); wm8350_register_led()
1320 led->isink_consumer.dev_name = dev_name(&pdev->dev); wm8350_register_led()
1321 led->isink_consumer.supply = "led_isink"; wm8350_register_led()
1322 led->isink_init.num_consumer_supplies = 1; wm8350_register_led()
1323 led->isink_init.consumer_supplies = &led->isink_consumer; wm8350_register_led()
1324 led->isink_init.constraints.min_uA = 0; wm8350_register_led()
1325 led->isink_init.constraints.max_uA = pdata->max_uA; wm8350_register_led()
1326 led->isink_init.constraints.valid_ops_mask wm8350_register_led()
1328 led->isink_init.constraints.valid_modes_mask = REGULATOR_MODE_NORMAL; wm8350_register_led()
1329 ret = wm8350_register_regulator(wm8350, isink, &led->isink_init); wm8350_register_led()
1335 led->dcdc_consumer.dev_name = dev_name(&pdev->dev); wm8350_register_led()
1336 led->dcdc_consumer.supply = "led_vcc"; wm8350_register_led()
1337 led->dcdc_init.num_consumer_supplies = 1; wm8350_register_led()
1338 led->dcdc_init.consumer_supplies = &led->dcdc_consumer; wm8350_register_led()
1339 led->dcdc_init.constraints.valid_modes_mask = REGULATOR_MODE_NORMAL; wm8350_register_led()
1340 led->dcdc_init.constraints.valid_ops_mask = REGULATOR_CHANGE_STATUS; wm8350_register_led()
1341 ret = wm8350_register_regulator(wm8350, dcdc, &led->dcdc_init); wm8350_register_led()
1366 led->pdev = pdev; wm8350_register_led()
/linux-4.1.27/include/linux/mfd/
H A Dhtc-pasic3.h36 struct led_classdev led; member in struct:pasic3_led
H A Dmax77693.h60 /* MAX77693 led flash */
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb/
H A Dmv88x201x.c61 u32 led = 0; led_link() local
64 cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, &led); led_link()
67 led |= LINK_ENABLE_BIT; led_link()
68 cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, led); led_link()
70 led &= ~LINK_ENABLE_BIT; led_link()
71 cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, led); led_link()
/linux-4.1.27/drivers/media/common/siano/
H A Dsms-cards.c313 int sms_board_led_feedback(struct smscore_device_t *coredev, int led) sms_board_led_feedback() argument
319 if (smscore_led_state(coredev, -1) == led) sms_board_led_feedback()
325 board->led_lo, (led & SMS_LED_LO) ? 1 : 0); sms_board_led_feedback()
327 board->led_hi, (led & SMS_LED_HI) ? 1 : 0); sms_board_led_feedback()
329 smscore_led_state(coredev, led); sms_board_led_feedback()
H A Dsms-cards.h133 int sms_board_led_feedback(struct smscore_device_t *coredev, int led);
/linux-4.1.27/drivers/staging/fbtft/
H A Dfbtft_device.c219 { "led", 18 },
242 { "led", 18 },
262 { "led", 23 },
282 { "led", 18 },
302 { "led", 18 },
437 { "led", 4 },
476 { "led", 23 },
496 { "led", 18 },
518 { "led", 18 },
540 { "led", 22 },
631 { "led", 18 },
650 { "led", 18 },
681 { "led", 23 },
699 { "led", 23 },
738 { "led", 22 },
804 { "led", 18 },
824 { "led", 23 },
974 { "led", 18 },
994 { "led", 18 },
H A Dfbtft-core.c110 } else if (strcasecmp(gpio->name, "led") == 0) { fbtft_request_gpios_match()
111 par->gpio.led[0] = gpio->gpio; fbtft_request_gpios_match()
114 par->gpio.led[0] = gpio->gpio; fbtft_request_gpios_match()
232 ret = fbtft_request_one_gpio(par, "led-gpios", i, fbtft_request_gpios_dt()
233 &par->gpio.led[i]); fbtft_request_gpios_dt()
257 gpio_set_value(par->gpio.led[0], polarity); fbtft_backlight_update_status()
259 gpio_set_value(par->gpio.led[0], !polarity); fbtft_backlight_update_status()
292 if (par->gpio.led[0] == -1) { fbtft_register_backlight()
294 "%s(): led pin not set, exiting.\n", __func__); fbtft_register_backlight()
308 if (!gpio_get_value(par->gpio.led[0])) fbtft_register_backlight()
880 par->gpio.led[i] = -1; fbtft_framebuffer_alloc()
1336 if (of_find_property(node, "led-gpios", NULL)) fbtft_probe_dt()
/linux-4.1.27/arch/mips/loongson/lemote-2f/
H A Dec_kb3310b.h145 /* Light the led: rd/wr */
152 /* Test led mode, all led on/off */
/linux-4.1.27/drivers/mfd/
H A Dtps65010.c774 * led: LED1 or LED2
777 int tps65010_set_led(unsigned led, unsigned mode) tps65010_set_led() argument
785 if (led == LED1) tps65010_set_led()
789 led = LED2; tps65010_set_led()
794 pr_debug("%s: led%i_on 0x%02x\n", DRIVER_NAME, led, tps65010_set_led()
798 pr_debug("%s: led%i_per 0x%02x\n", DRIVER_NAME, led, tps65010_set_led()
826 printk(KERN_ERR "%s: Failed to write led%i_on register\n", tps65010_set_led()
827 DRIVER_NAME, led); tps65010_set_led()
832 pr_debug("%s: led%i_on 0x%02x\n", DRIVER_NAME, led, tps65010_set_led()
839 printk(KERN_ERR "%s: Failed to write led%i_per register\n", tps65010_set_led()
840 DRIVER_NAME, led); tps65010_set_led()
845 pr_debug("%s: led%i_per 0x%02x\n", DRIVER_NAME, led, tps65010_set_led()
H A Dmax77693.c56 .name = "max77693-led",
57 .of_compatible = "maxim,max77693-led",
76 .name = "max77693-led",
H A D88pm860x-core.c192 .name = "88pm860x-led",
197 .name = "88pm860x-led",
202 .name = "88pm860x-led",
207 .name = "88pm860x-led",
212 .name = "88pm860x-led",
217 .name = "88pm860x-led",
779 if (pdata && pdata->led) { device_led_init()
783 led_devs[i].platform_data = &pdata->led[i]; device_led_init()
791 dev_err(chip->dev, "Failed to add led subdev\n"); device_led_init()
H A Dlm3533-core.c196 * LVLED output config -- output lvled controlled by LED led
198 static int lm3533_set_lvled_config(struct lm3533 *lm3533, u8 lvled, u8 led) lm3533_set_lvled_config() argument
209 if (led > LM3533_LED_ID_MAX) lm3533_set_lvled_config()
221 val = led << shift; lm3533_set_lvled_config()
/linux-4.1.27/drivers/fmc/
H A Dfru-parse.c7 * This work is part of the White Rabbit project, a research effort led
H A Dfmc-dump.c7 * This work is part of the White Rabbit project, a research effort led
H A Dfmc-match.c7 * This work is part of the White Rabbit project, a research effort led
/linux-4.1.27/arch/um/drivers/
H A Dstderr_console.c47 /* The previous behavior of not unregistering led to /dev/console being
/linux-4.1.27/arch/mips/mti-sead3/
H A Dleds-sead3.c69 .name = "sead3-led",
H A Dsead3-platform.c168 .name = "sead3-led",
/linux-4.1.27/arch/mips/ralink/
H A Drt305x.c40 static struct rt2880_pmx_func rt5350_led_func[] = { FUNC("led", 0, 22, 5) };
52 static struct rt2880_pmx_func rt3352_led_func[] = { FUNC("led", 0, 40, 5) };
78 GRP("led", rt3352_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
89 GRP("led", rt5350_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
/linux-4.1.27/arch/arm/mach-omap1/
H A DMakefile25 led-y := leds.o
/linux-4.1.27/sound/pci/hda/
H A Ddell_wmi_helper.c6 #include <linux/dell-led.h>
/linux-4.1.27/include/linux/i2c/
H A Dbh1770glc.h30 * @led_def_curr: IR led driving current.
H A Dapds990x.h61 * @pddrive: IR-led driving current
/linux-4.1.27/drivers/isdn/hisax/
H A Dnetjet.c13 * 16-Apr-2002 - led code added - Guy Ellis (guy@traverse.com.au)
90 u_char led; mode_tiger() local
114 // led off mode_tiger()
115 led = bc & 0x01; mode_tiger()
116 led = 0x01 << (6 + led); // convert to mask mode_tiger()
117 led = ~led; mode_tiger()
118 cs->hw.njet.auxd &= led; mode_tiger()
148 // led on mode_tiger()
149 led = bc & 0x01; mode_tiger()
150 led = 0x01 << (6 + led); // convert to mask mode_tiger()
151 cs->hw.njet.auxd |= led; mode_tiger()
/linux-4.1.27/drivers/block/
H A Dumem.c152 unsigned char led; get_userbit() local
154 led = readb(card->csr_remap + MEMCTRLCMD_LEDCTRL); get_userbit()
155 return led & bit; get_userbit()
160 unsigned char led; set_userbit() local
162 led = readb(card->csr_remap + MEMCTRLCMD_LEDCTRL); set_userbit()
164 led |= bit; set_userbit()
166 led &= ~bit; set_userbit()
167 writeb(led, card->csr_remap + MEMCTRLCMD_LEDCTRL); set_userbit()
177 unsigned char led; set_led() local
179 led = readb(card->csr_remap + MEMCTRLCMD_LEDCTRL); set_led()
181 led ^= (1<<shift); set_led()
183 led &= ~(0x03 << shift); set_led()
184 led |= (state << shift); set_led()
186 writeb(led, card->csr_remap + MEMCTRLCMD_LEDCTRL); set_led()
/linux-4.1.27/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_link.h223 /* Set link led mode (on/off/oper)*/
404 /* Set/Unset the led
405 Basically, the CLC takes care of the led for the link, but in case one needs
406 to set/unset the led unnaturally, set the "mode" to LED_MODE_OPER to
407 blink the led, and LED_MODE_OFF to set the led off.*/
/linux-4.1.27/drivers/input/joystick/
H A Dxpad.c340 struct xpad_led *led; member in struct:usb_xpad
910 struct xpad_led *led; xpad_led_probe() local
917 xpad->led = led = kzalloc(sizeof(struct xpad_led), GFP_KERNEL); xpad_led_probe()
918 if (!led) xpad_led_probe()
923 snprintf(led->name, sizeof(led->name), "xpad%lu", led_no); xpad_led_probe()
924 led->xpad = xpad; xpad_led_probe()
926 led_cdev = &led->led_cdev; xpad_led_probe()
927 led_cdev->name = led->name; xpad_led_probe()
932 kfree(led); xpad_led_probe()
933 xpad->led = NULL; xpad_led_probe()
947 struct xpad_led *xpad_led = xpad->led; xpad_led_disconnect()
/linux-4.1.27/drivers/isdn/hardware/mISDN/
H A Dhfcmulti.c1623 int led[4]; hfcmulti_leds() local
1633 led[0] = 0; hfcmulti_leds()
1634 led[1] = 0; hfcmulti_leds()
1635 led[2] = 0; hfcmulti_leds()
1636 led[3] = 0; hfcmulti_leds()
1640 led[1] = 1; hfcmulti_leds()
1642 led[0] = 1; hfcmulti_leds()
1646 led[2] = 1; hfcmulti_leds()
1647 led[3] = 1; hfcmulti_leds()
1653 led[2] = 0; hfcmulti_leds()
1655 led[3] = 0; hfcmulti_leds()
1666 leds = (led[0] | (led[1]<<2) | (led[2]<<1) | (led[3]<<3))^0xF; hfcmulti_leds()
1692 led[i] = 1; /* led green */ hfcmulti_leds()
1698 led[i] = 0; /* led off */ hfcmulti_leds()
1704 led[i] = 2; /* led red */ hfcmulti_leds()
1708 led[i] = 0; /* led off */ hfcmulti_leds()
1713 if (led[i] == 1) { hfcmulti_leds()
1716 } else if (led[i] == 2) { hfcmulti_leds()
1726 leds = ((led[3] > 0) << 0) | ((led[1] > 0) << 1) | hfcmulti_leds()
1727 ((led[0] > 0) << 2) | ((led[2] > 0) << 3) | hfcmulti_leds()
1728 ((led[3] & 1) << 4) | ((led[1] & 1) << 5) | hfcmulti_leds()
1729 ((led[0] & 1) << 6) | ((led[2] & 1) << 7); hfcmulti_leds()
1756 led[i] = 1; /* led green */ hfcmulti_leds()
1762 led[i] = 0; /* led off */ hfcmulti_leds()
1768 led[i] = 2; /* led red */ hfcmulti_leds()
1772 led[i] = 0; /* led off */ hfcmulti_leds()
1774 leds = (led[0] > 0) | ((led[1] > 0) << 1) | ((led[0]&1) << 2) hfcmulti_leds()
1775 | ((led[1]&1) << 3); hfcmulti_leds()
1778 ((led[0] > 0) << 2) | ((led[1] > 0) << 3)); hfcmulti_leds()
1780 ((led[0] & 1) << 2) | ((led[1] & 1) << 3)); hfcmulti_leds()
1803 lled &= ~(1 << i); /* led on */ hfcmulti_leds()
1809 lled |= 1 << i; /* led off */ hfcmulti_leds()
/linux-4.1.27/drivers/net/can/sja1000/
H A Dpeak_pcmcia.c72 /* led selection bits */
76 /* led state value */
202 /* Reset Mode: set led on */ pcan_write_canreg()
206 /* Normal Mode: led slow blinking and start led timer */ pcan_write_canreg()
357 /* clear corresponding led bits in ccr */ pcan_set_leds()
407 /* if bytes counters changed, set fast blinking led */ pcan_led_timer()
588 /* set corresponding led on in the new ccr */ pcan_add_channels()
H A Dpeak_pci.c156 struct delayed_work led_work; /* led delayed work */
259 /* cache led mask */ peak_pciec_write_pca9553()
300 /* if bytes counters changed, set fast blinking led */ peak_pciec_led_work()
411 /* Reset Mode: set led on */ peak_pciec_write_reg()
415 /* Normal Mode: led slow blinking and start led timer */ peak_pciec_write_reg()
/linux-4.1.27/drivers/net/wireless/libertas/
H A Dtypes.h216 u8 led; member in struct:led_pin
227 uint8_t led; member in struct:led_bhv
/linux-4.1.27/drivers/staging/vt6656/
H A Dmac.c239 void vnt_mac_set_led(struct vnt_private *priv, u8 state, u8 led) vnt_mac_set_led() argument
243 data[0] = led; vnt_mac_set_led()
/linux-4.1.27/drivers/input/misc/
H A Dyealink.h77 /* Set led
214 _PIC('.', offsetof(struct yld_status, led) , 0x01, "LED" ),
/linux-4.1.27/arch/arm/mach-orion5x/
H A Dmv2120-setup.c149 .name = "mv2120:led:bright",
154 .name = "mv2120:led:dimmed",
/linux-4.1.27/arch/mips/alchemy/devboards/
H A Ddb1000.c249 static void db1100_mmcled_set(struct led_classdev *led, enum led_brightness b) db1100_mmcled_set() argument
287 static void db1100_mmc1led_set(struct led_classdev *led, enum led_brightness b) db1100_mmc1led_set() argument
305 .led = &db1100_mmc_led,
312 .led = &db1100_mmc1_led,
H A Ddb1300.c514 static void db1300_mmcled_set(struct led_classdev *led, db1300_mmcled_set() argument
531 .led = &db1300_mmc_led,
579 static void db1300_movinand_led_set(struct led_classdev *led, db1300_movinand_led_set() argument
595 .led = &db1300_movinand_led,
/linux-4.1.27/drivers/mmc/host/
H A Drtsx_usb_sdmmc.c64 struct led_classdev led; member in struct:rtsx_usb_sdmmc
1298 static void rtsx_usb_led_control(struct led_classdev *led, rtsx_usb_led_control() argument
1301 struct rtsx_usb_sdmmc *host = container_of(led, rtsx_usb_led_control()
1302 struct rtsx_usb_sdmmc, led); rtsx_usb_led_control()
1307 host->led.brightness = brightness; rtsx_usb_led_control()
1319 if (host->led.brightness == LED_OFF) rtsx_usb_update_led()
1385 host->led.name = host->led_name; rtsx_usb_sdmmc_drv_probe()
1386 host->led.brightness = LED_OFF; rtsx_usb_sdmmc_drv_probe()
1387 host->led.default_trigger = mmc_hostname(mmc); rtsx_usb_sdmmc_drv_probe()
1388 host->led.brightness_set = rtsx_usb_led_control; rtsx_usb_sdmmc_drv_probe()
1390 err = led_classdev_register(mmc_dev(mmc), &host->led); rtsx_usb_sdmmc_drv_probe()
1429 led_classdev_unregister(&host->led); rtsx_usb_sdmmc_drv_remove()
H A Dau1xmmc.c1070 if (host->platdata && host->platdata->led) { au1xmmc_probe()
1071 struct led_classdev *led = host->platdata->led; au1xmmc_probe() local
1072 led->name = mmc_hostname(mmc); au1xmmc_probe()
1073 led->brightness = LED_OFF; au1xmmc_probe()
1074 led->default_trigger = mmc_hostname(mmc); au1xmmc_probe()
1075 ret = led_classdev_register(mmc_dev(mmc), led); au1xmmc_probe()
1099 if (host->platdata && host->platdata->led) au1xmmc_probe()
1100 led_classdev_unregister(host->platdata->led); au1xmmc_probe()
1141 if (host->platdata && host->platdata->led) au1xmmc_remove()
1142 led_classdev_unregister(host->platdata->led); au1xmmc_remove()
/linux-4.1.27/drivers/pinctrl/berlin/
H A Dberlin-bg2.c200 BERLIN_PINCTRL_FUNCTION(0x1, "led")),
203 BERLIN_PINCTRL_FUNCTION(0x1, "led")),
206 BERLIN_PINCTRL_FUNCTION(0x1, "led")),
/linux-4.1.27/drivers/macintosh/
H A Drack-meter.c314 int led; rackmeter_calc_sample() local
317 for (led = 0; led < 16; led++) { rackmeter_calc_sample()
319 sample |= ((rm->ubuf[led] >= 0x80) << 15); rackmeter_calc_sample()
H A Dvia-pmu-led.c75 .name = "pmu-led::front",
/linux-4.1.27/drivers/net/wireless/iwlwifi/
H A Diwl-config.h106 * IWL_LED_BLINK: adjust led blink rate based on blink table
107 * IWL_LED_DISABLE: led disabled
155 * @led_compensation: compensate on the led on/off time per HW according
156 * to the deviation to achieve the desired led frequency.
157 * The detail algorithm is described in iwl-led.c
/linux-4.1.27/drivers/staging/ft1000/
H A Dft1000.h96 #define FT1000_DSP_LED 0x0FFA /* dsp led status for PAD device */
118 #define FT1000_MAG_DSP_LED 0x3FE /* dsp led status for
121 #define FT1000_MAG_DSP_LED_INDX 0x0 /* dsp led status for
/linux-4.1.27/drivers/staging/vme/devices/
H A Dvme_pio2_core.c50 return card->led; pio2_get_led()
60 /* Register state inverse of led state */ pio2_set_led()
71 card->led = state ? 1 : 0; pio2_set_led()
/linux-4.1.27/arch/arm/mach-s3c24xx/
H A Dmach-gta02.c99 char led; gta02_panic_blink() local
101 led = (state) ? 1 : 0; gta02_panic_blink()
102 gpio_direction_output(GTA02_GPIO_AUX_LED, led); gta02_panic_blink()
/linux-4.1.27/drivers/media/usb/em28xx/
H A Dem28xx-core.c632 const struct em28xx_led *led = NULL; em28xx_capture_start() local
679 led = em28xx_find_led(dev, EM28XX_LED_ANALOG_CAPTURING); em28xx_capture_start()
681 led = em28xx_find_led(dev, EM28XX_LED_DIGITAL_CAPTURING); em28xx_capture_start()
683 if (led) em28xx_capture_start()
684 em28xx_write_reg_bits(dev, led->gpio_reg, em28xx_capture_start()
685 (!start ^ led->inverted) ? em28xx_capture_start()
686 ~led->gpio_mask : led->gpio_mask, em28xx_capture_start()
687 led->gpio_mask); em28xx_capture_start()
/linux-4.1.27/drivers/staging/ft1000/ft1000-usb/
H A Dft1000_usb.h46 #define FT1000_MAG_DSP_LED_INDX 0x1 /* dsp led status for PAD
/linux-4.1.27/drivers/parisc/
H A Dasp.c20 #include <asm/led.h>
/linux-4.1.27/arch/powerpc/boot/
H A Dwii-head.S134 /* turn on the front blue led (aka: yay! we got here!) */

Completed in 3276 milliseconds

123