Lines Matching defs:led
15 * - "ubnt,acb-spi-led": Microcontroller (SONiX 8F26E611LA) based device used
59 { .compatible = "ubnt,acb-spi-led", .data = &ubnt_acb_spi_led_cdef },
68 struct spi_byte_led *led = container_of(dev, struct spi_byte_led, ldev);
72 value = (u8) brightness + led->cdef->off_value;
74 mutex_lock(&led->mutex);
75 ret = spi_write(led->spi, &value, sizeof(value));
76 mutex_unlock(&led->mutex);
85 struct spi_byte_led *led;
96 led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL);
97 if (!led)
101 strlcpy(led->name, name, sizeof(led->name));
102 led->spi = spi;
103 mutex_init(&led->mutex);
104 led->cdef = device_get_match_data(dev);
105 led->ldev.name = led->name;
106 led->ldev.brightness = LED_OFF;
107 led->ldev.max_brightness = led->cdef->max_value - led->cdef->off_value;
108 led->ldev.brightness_set_blocking = spi_byte_brightness_set_blocking;
113 led->ldev.brightness = led->ldev.max_brightness;
120 spi_byte_brightness_set_blocking(&led->ldev,
121 led->ldev.brightness);
123 ret = devm_led_classdev_register(&spi->dev, &led->ldev);
125 mutex_destroy(&led->mutex);
128 spi_set_drvdata(spi, led);
135 struct spi_byte_led *led = spi_get_drvdata(spi);
137 mutex_destroy(&led->mutex);