Lines Matching refs:line

133 	struct line *line = container_of(work, struct line, task.work);
135 if (!line->throttled)
136 chan_interrupt(line, line->driver->read_irq);
139 int enable_chan(struct line *line)
145 INIT_DELAYED_WORK(&line->task, line_timer_cb);
147 list_for_each(ele, &line->chan_list) {
159 err = line_setup_irq(chan->fd, chan->input, chan->output, line,
170 close_chan(line);
198 um_free_irq(chan->line->driver->read_irq, chan);
200 um_free_irq(chan->line->driver->write_irq, chan);
218 um_free_irq(chan->line->driver->read_irq, chan);
220 um_free_irq(chan->line->driver->write_irq, chan);
230 void close_chan(struct line *line)
239 list_for_each_entry_reverse(chan, &line->chan_list, list) {
278 int console_open_chan(struct line *line, struct console *co)
282 err = open_chan(&line->chan_list);
291 int chan_window_size(struct line *line, unsigned short *rows_out,
296 chan = line->chan_in;
303 chan = line->chan_out;
384 int chan_config_string(struct line *line, char *str, int size,
387 struct chan *in = line->chan_in, *out = line->chan_out;
438 static struct chan *parse_chan(struct line *line, char *str, int device,
476 .line = line,
488 int parse_chan_pair(char *str, struct line *line, int device,
491 struct list_head *chans = &line->chan_list;
496 line->chan_in = line->chan_out = NULL;
509 new = parse_chan(line, in, device, opts, error_out);
515 line->chan_in = new;
517 new = parse_chan(line, out, device, opts, error_out);
523 line->chan_out = new;
526 new = parse_chan(line, str, device, opts, error_out);
533 line->chan_in = line->chan_out = new;
538 void chan_interrupt(struct line *line, int irq)
540 struct tty_port *port = &line->port;
541 struct chan *chan = line->chan_in;
550 schedule_delayed_work(&line->task, 1);
560 tty_port_tty_hangup(&line->port, false);
561 if (line->chan_out != chan)
562 close_one_chan(line->chan_out, 1);