Lines Matching refs:led
45 struct mc13xxx_led *led; member
60 struct mc13xxx_led *led = container_of(work, struct mc13xxx_led, work); in mc13xxx_led_work() local
61 struct mc13xxx_leds *leds = led->leds; in mc13xxx_led_work()
64 switch (led->id) { in mc13xxx_led_work()
69 shift = 9 + (led->id - MC13783_LED_MD) * 4; in mc13xxx_led_work()
80 off = led->id - MC13783_LED_R1; in mc13xxx_led_work()
88 reg = (led->id - MC13892_LED_MD) / 2; in mc13xxx_led_work()
89 shift = 3 + (led->id - MC13892_LED_MD) * 12; in mc13xxx_led_work()
94 off = led->id - MC13892_LED_R; in mc13xxx_led_work()
102 shift = 3 + (led->id - MC34708_LED_R) * 12; in mc13xxx_led_work()
109 mc13xxx_max_brightness(led->id) << shift, in mc13xxx_led_work()
110 led->new_brightness << shift); in mc13xxx_led_work()
116 struct mc13xxx_led *led = in mc13xxx_led_set() local
119 led->new_brightness = value; in mc13xxx_led_set()
120 schedule_work(&led->work); in mc13xxx_led_set()
149 pdata->led = devm_kzalloc(dev, pdata->num_leds * sizeof(*pdata->led), in mc13xxx_led_probe_dt()
151 if (!pdata->led) { in mc13xxx_led_probe_dt()
162 pdata->led[i].id = leds->devtype->led_min + tmp; in mc13xxx_led_probe_dt()
165 pdata->led[i].name = str; in mc13xxx_led_probe_dt()
168 pdata->led[i].default_trigger = str; in mc13xxx_led_probe_dt()
223 leds->led = devm_kzalloc(dev, leds->num_leds * sizeof(*leds->led), in mc13xxx_led_probe()
225 if (!leds->led) in mc13xxx_led_probe()
240 id = pdata->led[i].id; in mc13xxx_led_probe()
241 name = pdata->led[i].name; in mc13xxx_led_probe()
242 trig = pdata->led[i].default_trigger; in mc13xxx_led_probe()
255 leds->led[i].id = id; in mc13xxx_led_probe()
256 leds->led[i].leds = leds; in mc13xxx_led_probe()
257 leds->led[i].cdev.name = name; in mc13xxx_led_probe()
258 leds->led[i].cdev.default_trigger = trig; in mc13xxx_led_probe()
259 leds->led[i].cdev.flags = LED_CORE_SUSPENDRESUME; in mc13xxx_led_probe()
260 leds->led[i].cdev.brightness_set = mc13xxx_led_set; in mc13xxx_led_probe()
261 leds->led[i].cdev.max_brightness = mc13xxx_max_brightness(id); in mc13xxx_led_probe()
263 INIT_WORK(&leds->led[i].work, mc13xxx_led_work); in mc13xxx_led_probe()
265 ret = led_classdev_register(dev->parent, &leds->led[i].cdev); in mc13xxx_led_probe()
274 led_classdev_unregister(&leds->led[i].cdev); in mc13xxx_led_probe()
275 cancel_work_sync(&leds->led[i].work); in mc13xxx_led_probe()
287 led_classdev_unregister(&leds->led[i].cdev); in mc13xxx_led_remove()
288 cancel_work_sync(&leds->led[i].work); in mc13xxx_led_remove()