Lines Matching defs:led

17  * 500usec intervals in each 8msec that the led is 'on'.  The levels
52 * blink. When a led changes, it relinquishes access and tries again,
141 /* Convert an led.brightness level (0..255) to a TCA6507 level (0..15) */
261 * given led.
263 static void set_select(struct tca6507_chip *tca, int led, int val)
265 int mask = (1 << led);
366 static void led_release(struct tca6507_led *led)
368 /* If led owns any resource, release it. */
369 struct tca6507_chip *tca = led->chip;
370 if (led->bank >= 0) {
371 struct bank *b = tca->bank + led->bank;
372 if (led->blink)
376 led->blink = 0;
377 led->bank = -1;
380 static int led_prepare(struct tca6507_led *led)
382 /* Assign this led to a bank, configuring that bank if
384 int level = TO_LEVEL(led->led_cdev.brightness);
385 struct tca6507_chip *tca = led->chip;
391 led->led_cdev.brightness = TO_BRIGHT(level);
393 set_select(tca, led->num, TCA6507_LS_LED_OFF);
397 if (led->ontime == 0 || led->offtime == 0) {
408 set_select(tca, led->num, TCA6507_LS_LED_ON);
427 set_select(tca, led->num, TCA6507_LS_LED_ON);
428 led->led_cdev.brightness = LED_FULL;
436 led->bank = best;
437 set_select(tca, led->num, bank_source[best]);
438 led->led_cdev.brightness = TO_BRIGHT(tca->bank[best].level);
447 if (choose_times(led->ontime, &c1, &c2) < 0)
449 if (choose_times(led->offtime, &c1, &c2) < 0)
468 led->on_dflt ||
469 tca->bank[i].ontime == led->ontime))
474 led->off_dflt ||
475 tca->bank[i].offtime == led->offtime))
491 led->bank = i;
494 !led->on_dflt ||
496 b->ontime = led->ontime;
497 b->on_dflt = led->on_dflt;
502 !led->off_dflt ||
504 b->offtime = led->offtime;
505 b->off_dflt = led->off_dflt;
512 led->ontime = b->ontime;
513 led->offtime = b->offtime;
516 led->blink = 1;
517 led->led_cdev.brightness = TO_BRIGHT(b->level);
518 set_select(tca, led->num, blink_source[i]);
522 static int led_assign(struct tca6507_led *led)
524 struct tca6507_chip *tca = led->chip;
529 led_release(led);
530 err = led_prepare(led);
536 led->ontime = 0;
537 led->offtime = 0;
538 led_prepare(led);
550 struct tca6507_led *led = container_of(led_cdev, struct tca6507_led,
552 led->led_cdev.brightness = brightness;
553 led->ontime = 0;
554 led->offtime = 0;
555 led_assign(led);
562 struct tca6507_led *led = container_of(led_cdev, struct tca6507_led,
566 led->on_dflt = 1;
568 led->on_dflt = 0;
569 led->ontime = *delay_on;
572 led->off_dflt = 1;
574 led->off_dflt = 0;
575 led->offtime = *delay_off;
577 if (led->ontime == 0)
578 led->ontime = 512;
579 if (led->offtime == 0)
580 led->offtime = 512;
582 if (led->led_cdev.brightness == LED_OFF)
583 led->led_cdev.brightness = LED_FULL;
584 if (led_assign(led) < 0) {
585 led->ontime = 0;
586 led->offtime = 0;
587 led->led_cdev.brightness = LED_OFF;
590 *delay_on = led->ontime;
591 *delay_off = led->offtime;
692 struct led_info led;
696 if (fwnode_property_read_string(child, "label", &led.name))
697 led.name = fwnode_get_name(child);
700 &led.default_trigger))
701 led.default_trigger = NULL;
703 led.flags = 0;
706 led.flags |= TCA6507_MAKE_GPIO;
714 tca_leds[reg] = led;