Lines Matching refs:led

42     struct rt_led_device *led = rt_container_of(dev, struct rt_led_device, parent);  in _led_read()  local
44 if ((res = rt_led_get_state(led, &state))) in _led_read()
69 struct rt_led_device *led = rt_container_of(dev, struct rt_led_device, parent); in _led_write() local
75 return rt_led_set_state(led, i) ? : size; in _led_write()
92 rt_led_set_brightness(led, brightness); in _led_write()
107 struct rt_led_device *led = param; in _led_blink_timerout() local
108 struct blink_timer *btimer = led->sysdata; in _led_blink_timerout()
112 led->ops->set_state(led, RT_LED_S_OFF); in _led_blink_timerout()
116 led->ops->set_state(led, RT_LED_S_ON); in _led_blink_timerout()
122 rt_err_t rt_led_register(struct rt_led_device *led) in rt_led_register() argument
129 if (!led || !led->ops) in rt_led_register()
139 rt_dm_dev_set_name(&led->parent, "led%u", device_id); in rt_led_register()
140 dev_name = rt_dm_dev_get_name(&led->parent); in rt_led_register()
142 led->sysdata = RT_NULL; in rt_led_register()
143 rt_spin_lock_init(&led->spinlock); in rt_led_register()
145 if (!led->ops->set_period && led->ops->set_state) in rt_led_register()
157 led->sysdata = btimer; in rt_led_register()
161 rt_timer_init(&btimer->timer, dev_name, _led_blink_timerout, led, in rt_led_register()
165 led->parent.type = RT_Device_Class_Char; in rt_led_register()
167 led->parent.ops = &_led_ops; in rt_led_register()
169 led->parent.read = _led_read; in rt_led_register()
170 led->parent.write = _led_write; in rt_led_register()
172 led->parent.master_id = led_ida.master_id; in rt_led_register()
173 led->parent.device_id = device_id; in rt_led_register()
175 if ((err = rt_device_register(&led->parent, dev_name, RT_DEVICE_FLAG_RDWR))) in rt_led_register()
190 led->sysdata = RT_NULL; in rt_led_register()
196 rt_err_t rt_led_unregister(struct rt_led_device *led) in rt_led_unregister() argument
198 if (!led) in rt_led_unregister()
203 rt_led_set_state(led, RT_LED_S_OFF); in rt_led_unregister()
205 if (led->sysdata) in rt_led_unregister()
207 struct blink_timer *btimer = led->sysdata; in rt_led_unregister()
214 rt_dm_ida_free(&led_ida, led->parent.device_id); in rt_led_unregister()
216 rt_device_unregister(&led->parent); in rt_led_unregister()
221 rt_err_t rt_led_set_state(struct rt_led_device *led, enum rt_led_state state) in rt_led_set_state() argument
226 if (!led) in rt_led_set_state()
231 if (!led->ops->set_state) in rt_led_set_state()
236 rt_spin_lock(&led->spinlock); in rt_led_set_state()
238 btimer = led->sysdata; in rt_led_set_state()
245 err = led->ops->set_state(led, state); in rt_led_set_state()
267 rt_spin_unlock(&led->spinlock); in rt_led_set_state()
272 rt_err_t rt_led_get_state(struct rt_led_device *led, enum rt_led_state *out_state) in rt_led_get_state() argument
276 if (!led || !out_state) in rt_led_get_state()
281 if (!led->ops->get_state) in rt_led_get_state()
286 rt_spin_lock(&led->spinlock); in rt_led_get_state()
288 err = led->ops->get_state(led, out_state); in rt_led_get_state()
290 rt_spin_unlock(&led->spinlock); in rt_led_get_state()
295 rt_err_t rt_led_set_period(struct rt_led_device *led, rt_uint32_t period_ms) in rt_led_set_period() argument
299 if (!led) in rt_led_set_period()
304 if (!led->ops->set_period && !led->sysdata) in rt_led_set_period()
309 rt_spin_lock(&led->spinlock); in rt_led_set_period()
311 if (led->ops->set_period) in rt_led_set_period()
313 err = led->ops->set_period(led, period_ms); in rt_led_set_period()
317 struct blink_timer *btimer = led->sysdata; in rt_led_set_period()
323 rt_spin_unlock(&led->spinlock); in rt_led_set_period()
328 rt_err_t rt_led_set_brightness(struct rt_led_device *led, rt_uint32_t brightness) in rt_led_set_brightness() argument
332 if (!led) in rt_led_set_brightness()
337 if (!led->ops->set_brightness) in rt_led_set_brightness()
342 rt_spin_lock(&led->spinlock); in rt_led_set_brightness()
344 err = led->ops->set_brightness(led, brightness); in rt_led_set_brightness()
346 rt_spin_unlock(&led->spinlock); in rt_led_set_brightness()