Lines Matching refs:led

3  * MSI GT683R led driver
65 struct gt683r_led *led = hid_get_drvdata(hdev);
68 if (led_cdev == &led->led_devs[i])
73 led->brightnesses[i] = brightness;
74 schedule_work(&led->work);
84 struct gt683r_led *led = hid_get_drvdata(hdev);
86 if (led->mode == GT683R_LED_NORMAL)
88 else if (led->mode == GT683R_LED_AUDIO)
102 struct gt683r_led *led = hid_get_drvdata(hdev);
108 mutex_lock(&led->lock);
111 led->mode = GT683R_LED_NORMAL;
113 led->mode = GT683R_LED_AUDIO;
115 led->mode = GT683R_LED_BREATHING;
117 mutex_unlock(&led->lock);
118 schedule_work(&led->work);
123 static int gt683r_led_snd_msg(struct gt683r_led *led, u8 *msg)
127 ret = hid_hw_raw_request(led->hdev, msg[0], msg, GT683R_BUFFER_SIZE,
130 hid_err(led->hdev,
140 static int gt683r_leds_set(struct gt683r_led *led, u8 leds)
153 ret = gt683r_led_snd_msg(led, buffer);
159 static int gt683r_mode_set(struct gt683r_led *led, u8 mode)
173 ret = gt683r_led_snd_msg(led, buffer);
184 struct gt683r_led *led = container_of(work, struct gt683r_led, work);
186 mutex_lock(&led->lock);
189 if (led->brightnesses[i])
193 if (gt683r_leds_set(led, leds))
197 mode = led->mode;
201 gt683r_mode_set(led, mode);
203 mutex_unlock(&led->lock);
230 struct gt683r_led *led;
232 led = devm_kzalloc(&hdev->dev, sizeof(*led), GFP_KERNEL);
233 if (!led)
236 mutex_init(&led->lock);
237 INIT_WORK(&led->work, gt683r_led_work);
239 led->mode = GT683R_LED_NORMAL;
240 led->hdev = hdev;
241 hid_set_drvdata(hdev, led);
267 led->led_devs[i].name = name;
268 led->led_devs[i].max_brightness = 1;
269 led->led_devs[i].brightness_set = gt683r_brightness_set;
270 led->led_devs[i].groups = gt683r_led_groups;
272 ret = led_classdev_register(&hdev->dev, &led->led_devs[i]);
274 hid_err(hdev, "could not register led device\n");
283 led_classdev_unregister(&led->led_devs[i]);
291 struct gt683r_led *led = hid_get_drvdata(hdev);
294 led_classdev_unregister(&led->led_devs[i]);
295 flush_work(&led->work);
309 MODULE_DESCRIPTION("MSI GT683R led driver");