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->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->read_irq, chan); in free_irqs()
200 um_free_irq(chan->line->write_irq, chan); in free_irqs()
218 um_free_irq(chan->line->read_irq, chan); in close_one_chan()
220 um_free_irq(chan->line->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()
278 int console_open_chan(struct line *line, struct console *co) in console_open_chan() argument
282 err = open_chan(&line->chan_list); in console_open_chan()
291 int chan_window_size(struct line *line, unsigned short *rows_out, in chan_window_size() argument
296 chan = line->chan_in; in chan_window_size()
303 chan = line->chan_out; in chan_window_size()
384 int chan_config_string(struct line *line, char *str, int size, in chan_config_string() argument
387 struct chan *in = line->chan_in, *out = line->chan_out; in chan_config_string()
438 static struct chan *parse_chan(struct line *line, char *str, int device, in parse_chan() argument
476 .line = line, in parse_chan()
488 int parse_chan_pair(char *str, struct line *line, int device, in parse_chan_pair() argument
491 struct list_head *chans = &line->chan_list; in parse_chan_pair()
496 line->chan_in = line->chan_out = NULL; in parse_chan_pair()
509 new = parse_chan(line, in, device, opts, error_out); in parse_chan_pair()
515 line->chan_in = new; in parse_chan_pair()
517 new = parse_chan(line, out, device, opts, error_out); in parse_chan_pair()
523 line->chan_out = new; in parse_chan_pair()
526 new = parse_chan(line, str, device, opts, error_out); in parse_chan_pair()
533 line->chan_in = line->chan_out = new; in parse_chan_pair()
538 void chan_interrupt(struct line *line, int irq) in chan_interrupt() argument
540 struct tty_port *port = &line->port; in chan_interrupt()
541 struct chan *chan = line->chan_in; in chan_interrupt()
550 schedule_delayed_work(&line->task, 1); in chan_interrupt()
560 tty_port_tty_hangup(&line->port, false); in chan_interrupt()
561 if (line->chan_out != chan) in chan_interrupt()
562 close_one_chan(line->chan_out, 1); in chan_interrupt()