Lines Matching refs:led_cdev
30 struct led_classdev *led_cdev = dev_get_drvdata(dev); in brightness_show() local
33 led_update_brightness(led_cdev); in brightness_show()
35 return sprintf(buf, "%u\n", led_cdev->brightness); in brightness_show()
41 struct led_classdev *led_cdev = dev_get_drvdata(dev); in brightness_store() local
45 mutex_lock(&led_cdev->led_access); in brightness_store()
47 if (led_sysfs_is_disabled(led_cdev)) { in brightness_store()
57 led_trigger_remove(led_cdev); in brightness_store()
58 led_set_brightness(led_cdev, state); in brightness_store()
62 mutex_unlock(&led_cdev->led_access); in brightness_store()
70 struct led_classdev *led_cdev = dev_get_drvdata(dev); in max_brightness_show() local
72 return sprintf(buf, "%u\n", led_cdev->max_brightness); in max_brightness_show()
107 struct led_classdev *led_cdev = (void *)data; in led_timer_function() local
111 if (!led_cdev->blink_delay_on || !led_cdev->blink_delay_off) { in led_timer_function()
112 led_set_brightness_async(led_cdev, LED_OFF); in led_timer_function()
116 if (led_cdev->flags & LED_BLINK_ONESHOT_STOP) { in led_timer_function()
117 led_cdev->flags &= ~LED_BLINK_ONESHOT_STOP; in led_timer_function()
121 brightness = led_get_brightness(led_cdev); in led_timer_function()
124 brightness = led_cdev->blink_brightness; in led_timer_function()
125 delay = led_cdev->blink_delay_on; in led_timer_function()
130 led_cdev->blink_brightness = brightness; in led_timer_function()
132 delay = led_cdev->blink_delay_off; in led_timer_function()
135 led_set_brightness_async(led_cdev, brightness); in led_timer_function()
141 if (led_cdev->flags & LED_BLINK_ONESHOT) { in led_timer_function()
142 if (led_cdev->flags & LED_BLINK_INVERT) { in led_timer_function()
144 led_cdev->flags |= LED_BLINK_ONESHOT_STOP; in led_timer_function()
147 led_cdev->flags |= LED_BLINK_ONESHOT_STOP; in led_timer_function()
151 mod_timer(&led_cdev->blink_timer, jiffies + msecs_to_jiffies(delay)); in led_timer_function()
156 struct led_classdev *led_cdev = in set_brightness_delayed() local
159 led_stop_software_blink(led_cdev); in set_brightness_delayed()
161 led_set_brightness_async(led_cdev, led_cdev->delayed_set_value); in set_brightness_delayed()
168 void led_classdev_suspend(struct led_classdev *led_cdev) in led_classdev_suspend() argument
170 led_cdev->flags |= LED_SUSPENDED; in led_classdev_suspend()
171 led_cdev->brightness_set(led_cdev, 0); in led_classdev_suspend()
179 void led_classdev_resume(struct led_classdev *led_cdev) in led_classdev_resume() argument
181 led_cdev->brightness_set(led_cdev, led_cdev->brightness); in led_classdev_resume()
183 if (led_cdev->flash_resume) in led_classdev_resume()
184 led_cdev->flash_resume(led_cdev); in led_classdev_resume()
186 led_cdev->flags &= ~LED_SUSPENDED; in led_classdev_resume()
193 struct led_classdev *led_cdev = dev_get_drvdata(dev); in led_suspend() local
195 if (led_cdev->flags & LED_CORE_SUSPENDRESUME) in led_suspend()
196 led_classdev_suspend(led_cdev); in led_suspend()
203 struct led_classdev *led_cdev = dev_get_drvdata(dev); in led_resume() local
205 if (led_cdev->flags & LED_CORE_SUSPENDRESUME) in led_resume()
206 led_classdev_resume(led_cdev); in led_resume()
247 int led_classdev_register(struct device *parent, struct led_classdev *led_cdev) in led_classdev_register() argument
252 ret = led_classdev_next_name(led_cdev->name, name, sizeof(name)); in led_classdev_register()
256 led_cdev->dev = device_create_with_groups(leds_class, parent, 0, in led_classdev_register()
257 led_cdev, led_cdev->groups, "%s", name); in led_classdev_register()
258 if (IS_ERR(led_cdev->dev)) in led_classdev_register()
259 return PTR_ERR(led_cdev->dev); in led_classdev_register()
263 led_cdev->name, dev_name(led_cdev->dev)); in led_classdev_register()
266 init_rwsem(&led_cdev->trigger_lock); in led_classdev_register()
268 mutex_init(&led_cdev->led_access); in led_classdev_register()
271 list_add_tail(&led_cdev->node, &leds_list); in led_classdev_register()
274 if (!led_cdev->max_brightness) in led_classdev_register()
275 led_cdev->max_brightness = LED_FULL; in led_classdev_register()
277 led_cdev->flags |= SET_BRIGHTNESS_ASYNC; in led_classdev_register()
279 led_update_brightness(led_cdev); in led_classdev_register()
281 INIT_WORK(&led_cdev->set_brightness_work, set_brightness_delayed); in led_classdev_register()
283 setup_timer(&led_cdev->blink_timer, led_timer_function, in led_classdev_register()
284 (unsigned long)led_cdev); in led_classdev_register()
287 led_trigger_set_default(led_cdev); in led_classdev_register()
291 led_cdev->name); in led_classdev_register()
303 void led_classdev_unregister(struct led_classdev *led_cdev) in led_classdev_unregister() argument
306 down_write(&led_cdev->trigger_lock); in led_classdev_unregister()
307 if (led_cdev->trigger) in led_classdev_unregister()
308 led_trigger_set(led_cdev, NULL); in led_classdev_unregister()
309 up_write(&led_cdev->trigger_lock); in led_classdev_unregister()
312 cancel_work_sync(&led_cdev->set_brightness_work); in led_classdev_unregister()
315 led_stop_software_blink(led_cdev); in led_classdev_unregister()
316 led_set_brightness(led_cdev, LED_OFF); in led_classdev_unregister()
318 device_unregister(led_cdev->dev); in led_classdev_unregister()
321 list_del(&led_cdev->node); in led_classdev_unregister()
324 mutex_destroy(&led_cdev->led_access); in led_classdev_unregister()
339 struct led_classdev *led_cdev) in devm_led_classdev_register() argument
348 rc = led_classdev_register(parent, led_cdev); in devm_led_classdev_register()
354 *dr = led_cdev; in devm_led_classdev_register()
363 struct led_cdev **p = res; in devm_led_classdev_match()
377 struct led_classdev *led_cdev) in devm_led_classdev_unregister() argument
381 devm_led_classdev_match, led_cdev)); in devm_led_classdev_unregister()