Lines Matching refs:trigger_data
46 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ledtrig_tty_wait_for_completion() local
49 ret = wait_for_completion_timeout(&trigger_data->sysfs, in ledtrig_tty_wait_for_completion()
60 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ttyname_show() local
64 reinit_completion(&trigger_data->sysfs); in ttyname_show()
69 if (trigger_data->ttyname) in ttyname_show()
70 len = sprintf(buf, "%s\n", trigger_data->ttyname); in ttyname_show()
79 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ttyname_store() local
95 reinit_completion(&trigger_data->sysfs); in ttyname_store()
100 kfree(trigger_data->ttyname); in ttyname_store()
101 tty_kref_put(trigger_data->tty); in ttyname_store()
102 trigger_data->tty = NULL; in ttyname_store()
104 trigger_data->ttyname = ttyname; in ttyname_store()
113 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ledtrig_tty_attr_show() local
118 state = trigger_data->mode_rx; in ledtrig_tty_attr_show()
121 state = trigger_data->mode_tx; in ledtrig_tty_attr_show()
124 state = trigger_data->mode_cts; in ledtrig_tty_attr_show()
127 state = trigger_data->mode_dsr; in ledtrig_tty_attr_show()
130 state = trigger_data->mode_dcd; in ledtrig_tty_attr_show()
133 state = trigger_data->mode_rng; in ledtrig_tty_attr_show()
143 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ledtrig_tty_attr_store() local
153 trigger_data->mode_rx = state; in ledtrig_tty_attr_store()
156 trigger_data->mode_tx = state; in ledtrig_tty_attr_store()
159 trigger_data->mode_cts = state; in ledtrig_tty_attr_store()
162 trigger_data->mode_dsr = state; in ledtrig_tty_attr_store()
165 trigger_data->mode_dcd = state; in ledtrig_tty_attr_store()
168 trigger_data->mode_rng = state; in ledtrig_tty_attr_store()
197 struct ledtrig_tty_data *trigger_data = in ledtrig_tty_work() local
205 if (!trigger_data->ttyname) in ledtrig_tty_work()
209 if (!trigger_data->tty) { in ledtrig_tty_work()
214 ret = tty_dev_name_to_number(trigger_data->ttyname, &devno); in ledtrig_tty_work()
227 trigger_data->tty = tty; in ledtrig_tty_work()
230 status = tty_get_tiocm(trigger_data->tty); in ledtrig_tty_work()
232 if (trigger_data->mode_cts) { in ledtrig_tty_work()
237 if (trigger_data->mode_dsr) { in ledtrig_tty_work()
242 if (trigger_data->mode_dcd) { in ledtrig_tty_work()
247 if (trigger_data->mode_rng) { in ledtrig_tty_work()
257 if (trigger_data->mode_rx || trigger_data->mode_tx) { in ledtrig_tty_work()
260 ret = tty_get_icount(trigger_data->tty, &icount); in ledtrig_tty_work()
264 if (trigger_data->mode_tx && (icount.tx != trigger_data->tx)) { in ledtrig_tty_work()
265 trigger_data->tx = icount.tx; in ledtrig_tty_work()
270 if (trigger_data->mode_rx && (icount.rx != trigger_data->rx)) { in ledtrig_tty_work()
271 trigger_data->rx = icount.rx; in ledtrig_tty_work()
280 led_blink_set_oneshot(trigger_data->led_cdev, &interval, in ledtrig_tty_work()
284 led_set_brightness(trigger_data->led_cdev, in ledtrig_tty_work()
285 trigger_data->led_cdev->blink_brightness); in ledtrig_tty_work()
290 led_set_brightness(trigger_data->led_cdev, LED_OFF); in ledtrig_tty_work()
294 complete_all(&trigger_data->sysfs); in ledtrig_tty_work()
295 schedule_delayed_work(&trigger_data->dwork, in ledtrig_tty_work()
313 struct ledtrig_tty_data *trigger_data; in ledtrig_tty_activate() local
315 trigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL); in ledtrig_tty_activate()
316 if (!trigger_data) in ledtrig_tty_activate()
320 trigger_data->mode_rx = true; in ledtrig_tty_activate()
321 trigger_data->mode_tx = true; in ledtrig_tty_activate()
323 led_set_trigger_data(led_cdev, trigger_data); in ledtrig_tty_activate()
325 INIT_DELAYED_WORK(&trigger_data->dwork, ledtrig_tty_work); in ledtrig_tty_activate()
326 trigger_data->led_cdev = led_cdev; in ledtrig_tty_activate()
327 init_completion(&trigger_data->sysfs); in ledtrig_tty_activate()
329 schedule_delayed_work(&trigger_data->dwork, 0); in ledtrig_tty_activate()
336 struct ledtrig_tty_data *trigger_data = led_get_trigger_data(led_cdev); in ledtrig_tty_deactivate() local
338 cancel_delayed_work_sync(&trigger_data->dwork); in ledtrig_tty_deactivate()
340 kfree(trigger_data->ttyname); in ledtrig_tty_deactivate()
341 tty_kref_put(trigger_data->tty); in ledtrig_tty_deactivate()
342 trigger_data->tty = NULL; in ledtrig_tty_deactivate()
344 kfree(trigger_data); in ledtrig_tty_deactivate()