Lines Matching refs:led

48 static int lp8788_led_init_device(struct lp8788_led *led,  in lp8788_led_init_device()  argument
61 led->isink_num = cfg->num; in lp8788_led_init_device()
67 ret = lp8788_update_bits(led->lp, addr, mask, val); in lp8788_led_init_device()
76 return lp8788_update_bits(led->lp, addr, mask, val); in lp8788_led_init_device()
79 static void lp8788_led_enable(struct lp8788_led *led, in lp8788_led_enable() argument
85 if (lp8788_update_bits(led->lp, LP8788_ISINK_CTRL, mask, val)) in lp8788_led_enable()
88 led->on = on; in lp8788_led_enable()
93 struct lp8788_led *led = container_of(work, struct lp8788_led, work); in lp8788_led_work() local
94 enum lp8788_isink_number num = led->isink_num; in lp8788_led_work()
96 u8 val = led->brightness; in lp8788_led_work()
98 mutex_lock(&led->lock); in lp8788_led_work()
104 lp8788_write_byte(led->lp, lp8788_pwm_addr[num], val); in lp8788_led_work()
107 mutex_unlock(&led->lock); in lp8788_led_work()
112 if (enable != led->on) in lp8788_led_work()
113 lp8788_led_enable(led, num, enable); in lp8788_led_work()
115 mutex_unlock(&led->lock); in lp8788_led_work()
121 struct lp8788_led *led = in lp8788_brightness_set() local
124 led->brightness = brt_val; in lp8788_brightness_set()
125 schedule_work(&led->work); in lp8788_brightness_set()
132 struct lp8788_led *led; in lp8788_led_probe() local
136 led = devm_kzalloc(dev, sizeof(struct lp8788_led), GFP_KERNEL); in lp8788_led_probe()
137 if (!led) in lp8788_led_probe()
140 led->lp = lp; in lp8788_led_probe()
141 led->led_dev.max_brightness = MAX_BRIGHTNESS; in lp8788_led_probe()
142 led->led_dev.brightness_set = lp8788_brightness_set; in lp8788_led_probe()
147 led->led_dev.name = DEFAULT_LED_NAME; in lp8788_led_probe()
149 led->led_dev.name = led_pdata->name; in lp8788_led_probe()
151 mutex_init(&led->lock); in lp8788_led_probe()
152 INIT_WORK(&led->work, lp8788_led_work); in lp8788_led_probe()
154 platform_set_drvdata(pdev, led); in lp8788_led_probe()
156 ret = lp8788_led_init_device(led, led_pdata); in lp8788_led_probe()
162 ret = led_classdev_register(dev, &led->led_dev); in lp8788_led_probe()
173 struct lp8788_led *led = platform_get_drvdata(pdev); in lp8788_led_remove() local
175 led_classdev_unregister(&led->led_dev); in lp8788_led_remove()
176 flush_work(&led->work); in lp8788_led_remove()