Lines Matching refs:line
133 struct line *line = container_of(work, struct line, task.work); in line_timer_cb() local
135 if (!line->throttled) in line_timer_cb()
136 chan_interrupt(line, line->driver->read_irq); in line_timer_cb()
139 int enable_chan(struct line *line) in enable_chan() argument
145 INIT_DELAYED_WORK(&line->task, line_timer_cb); in enable_chan()
147 list_for_each(ele, &line->chan_list) { in enable_chan()
159 err = line_setup_irq(chan->fd, chan->input, chan->output, line, in enable_chan()
170 close_chan(line); in enable_chan()
198 um_free_irq(chan->line->driver->read_irq, chan); in free_irqs()
200 um_free_irq(chan->line->driver->write_irq, chan); in free_irqs()
218 um_free_irq(chan->line->driver->read_irq, chan); in close_one_chan()
220 um_free_irq(chan->line->driver->write_irq, chan); in close_one_chan()
230 void close_chan(struct line *line) in close_chan() argument
239 list_for_each_entry_reverse(chan, &line->chan_list, list) { in close_chan()
286 int console_open_chan(struct line *line, struct console *co) in console_open_chan() argument
290 err = open_chan(&line->chan_list); in console_open_chan()
299 int chan_window_size(struct line *line, unsigned short *rows_out, in chan_window_size() argument
304 chan = line->chan_in; in chan_window_size()
311 chan = line->chan_out; in chan_window_size()
392 int chan_config_string(struct line *line, char *str, int size, in chan_config_string() argument
395 struct chan *in = line->chan_in, *out = line->chan_out; in chan_config_string()
446 static struct chan *parse_chan(struct line *line, char *str, int device, in parse_chan() argument
484 .line = line, in parse_chan()
496 int parse_chan_pair(char *str, struct line *line, int device, in parse_chan_pair() argument
499 struct list_head *chans = &line->chan_list; in parse_chan_pair()
504 line->chan_in = line->chan_out = NULL; in parse_chan_pair()
517 new = parse_chan(line, in, device, opts, error_out); in parse_chan_pair()
523 line->chan_in = new; in parse_chan_pair()
525 new = parse_chan(line, out, device, opts, error_out); in parse_chan_pair()
531 line->chan_out = new; in parse_chan_pair()
534 new = parse_chan(line, str, device, opts, error_out); in parse_chan_pair()
541 line->chan_in = line->chan_out = new; in parse_chan_pair()
546 void chan_interrupt(struct line *line, int irq) in chan_interrupt() argument
548 struct tty_port *port = &line->port; in chan_interrupt()
549 struct chan *chan = line->chan_in; in chan_interrupt()
558 schedule_delayed_work(&line->task, 1); in chan_interrupt()
570 tty_port_tty_hangup(&line->port, false); in chan_interrupt()
571 if (line->chan_out != chan) in chan_interrupt()
572 close_one_chan(line->chan_out, 1); in chan_interrupt()