Lines Matching refs:led

74 	struct gt683r_led *led = hid_get_drvdata(hdev);  in gt683r_brightness_set()  local
77 if (led_cdev == &led->led_devs[i]) in gt683r_brightness_set()
82 led->brightnesses[i] = brightness; in gt683r_brightness_set()
83 schedule_work(&led->work); in gt683r_brightness_set()
94 struct gt683r_led *led = hid_get_drvdata(hdev); in mode_show() local
96 if (led->mode == GT683R_LED_NORMAL) in mode_show()
98 else if (led->mode == GT683R_LED_AUDIO) in mode_show()
113 struct gt683r_led *led = hid_get_drvdata(hdev); in mode_store() local
119 mutex_lock(&led->lock); in mode_store()
122 led->mode = GT683R_LED_NORMAL; in mode_store()
124 led->mode = GT683R_LED_AUDIO; in mode_store()
126 led->mode = GT683R_LED_BREATHING; in mode_store()
128 mutex_unlock(&led->lock); in mode_store()
129 schedule_work(&led->work); in mode_store()
134 static int gt683r_led_snd_msg(struct gt683r_led *led, u8 *msg) in gt683r_led_snd_msg() argument
138 ret = hid_hw_raw_request(led->hdev, msg[0], msg, GT683R_BUFFER_SIZE, in gt683r_led_snd_msg()
141 hid_err(led->hdev, in gt683r_led_snd_msg()
151 static int gt683r_leds_set(struct gt683r_led *led, u8 leds) in gt683r_leds_set() argument
164 ret = gt683r_led_snd_msg(led, buffer); in gt683r_leds_set()
170 static int gt683r_mode_set(struct gt683r_led *led, u8 mode) in gt683r_mode_set() argument
184 ret = gt683r_led_snd_msg(led, buffer); in gt683r_mode_set()
195 struct gt683r_led *led = container_of(work, struct gt683r_led, work); in gt683r_led_work() local
197 mutex_lock(&led->lock); in gt683r_led_work()
200 if (led->brightnesses[i]) in gt683r_led_work()
204 if (gt683r_leds_set(led, leds)) in gt683r_led_work()
208 mode = led->mode; in gt683r_led_work()
212 gt683r_mode_set(led, mode); in gt683r_led_work()
214 mutex_unlock(&led->lock); in gt683r_led_work()
241 struct gt683r_led *led; in gt683r_led_probe() local
243 led = devm_kzalloc(&hdev->dev, sizeof(*led), GFP_KERNEL); in gt683r_led_probe()
244 if (!led) in gt683r_led_probe()
247 mutex_init(&led->lock); in gt683r_led_probe()
248 INIT_WORK(&led->work, gt683r_led_work); in gt683r_led_probe()
250 led->mode = GT683R_LED_NORMAL; in gt683r_led_probe()
251 led->hdev = hdev; in gt683r_led_probe()
252 hid_set_drvdata(hdev, led); in gt683r_led_probe()
278 led->led_devs[i].name = name; in gt683r_led_probe()
279 led->led_devs[i].max_brightness = 1; in gt683r_led_probe()
280 led->led_devs[i].brightness_set = gt683r_brightness_set; in gt683r_led_probe()
281 led->led_devs[i].groups = gt683r_led_groups; in gt683r_led_probe()
283 ret = led_classdev_register(&hdev->dev, &led->led_devs[i]); in gt683r_led_probe()
294 led_classdev_unregister(&led->led_devs[i]); in gt683r_led_probe()
302 struct gt683r_led *led = hid_get_drvdata(hdev); in gt683r_led_remove() local
305 led_classdev_unregister(&led->led_devs[i]); in gt683r_led_remove()
306 flush_work(&led->work); in gt683r_led_remove()