• Home
  • Raw
  • Download

Lines Matching refs:trigger_data

21 static void ledtrig_tty_restart(struct ledtrig_tty_data *trigger_data)  in ledtrig_tty_restart()  argument
23 schedule_delayed_work(&trigger_data->dwork, 0); in ledtrig_tty_restart()
29 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ttyname_show() local
32 mutex_lock(&trigger_data->mutex); in ttyname_show()
34 if (trigger_data->ttyname) in ttyname_show()
35 len = sprintf(buf, "%s\n", trigger_data->ttyname); in ttyname_show()
37 mutex_unlock(&trigger_data->mutex); in ttyname_show()
46 struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); in ttyname_store() local
62 mutex_lock(&trigger_data->mutex); in ttyname_store()
64 running = trigger_data->ttyname != NULL; in ttyname_store()
66 kfree(trigger_data->ttyname); in ttyname_store()
67 tty_kref_put(trigger_data->tty); in ttyname_store()
68 trigger_data->tty = NULL; in ttyname_store()
70 trigger_data->ttyname = ttyname; in ttyname_store()
72 mutex_unlock(&trigger_data->mutex); in ttyname_store()
75 ledtrig_tty_restart(trigger_data); in ttyname_store()
83 struct ledtrig_tty_data *trigger_data = in ledtrig_tty_work() local
88 mutex_lock(&trigger_data->mutex); in ledtrig_tty_work()
90 if (!trigger_data->ttyname) { in ledtrig_tty_work()
92 mutex_unlock(&trigger_data->mutex); in ledtrig_tty_work()
97 if (!trigger_data->tty) { in ledtrig_tty_work()
102 ret = tty_dev_name_to_number(trigger_data->ttyname, &devno); in ledtrig_tty_work()
115 trigger_data->tty = tty; in ledtrig_tty_work()
118 ret = tty_get_icount(trigger_data->tty, &icount); in ledtrig_tty_work()
120 dev_info(trigger_data->tty->dev, "Failed to get icount, stopped polling\n"); in ledtrig_tty_work()
121 mutex_unlock(&trigger_data->mutex); in ledtrig_tty_work()
125 if (icount.rx != trigger_data->rx || in ledtrig_tty_work()
126 icount.tx != trigger_data->tx) { in ledtrig_tty_work()
129 led_blink_set_oneshot(trigger_data->led_cdev, &interval, in ledtrig_tty_work()
132 trigger_data->rx = icount.rx; in ledtrig_tty_work()
133 trigger_data->tx = icount.tx; in ledtrig_tty_work()
137 mutex_unlock(&trigger_data->mutex); in ledtrig_tty_work()
138 schedule_delayed_work(&trigger_data->dwork, in ledtrig_tty_work()
150 struct ledtrig_tty_data *trigger_data; in ledtrig_tty_activate() local
152 trigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL); in ledtrig_tty_activate()
153 if (!trigger_data) in ledtrig_tty_activate()
156 led_set_trigger_data(led_cdev, trigger_data); in ledtrig_tty_activate()
158 INIT_DELAYED_WORK(&trigger_data->dwork, ledtrig_tty_work); in ledtrig_tty_activate()
159 trigger_data->led_cdev = led_cdev; in ledtrig_tty_activate()
160 mutex_init(&trigger_data->mutex); in ledtrig_tty_activate()
167 struct ledtrig_tty_data *trigger_data = led_get_trigger_data(led_cdev); in ledtrig_tty_deactivate() local
169 cancel_delayed_work_sync(&trigger_data->dwork); in ledtrig_tty_deactivate()
171 kfree(trigger_data->ttyname); in ledtrig_tty_deactivate()
172 tty_kref_put(trigger_data->tty); in ledtrig_tty_deactivate()
173 trigger_data->tty = NULL; in ledtrig_tty_deactivate()
175 kfree(trigger_data); in ledtrig_tty_deactivate()