Lines Matching refs:disc
46 /* Line disc dispatch table */
93 static struct tty_ldisc_ops *get_ldops(int disc)
100 ldops = tty_ldiscs[disc];
124 * @disc: ldisc number
139 static struct tty_ldisc *tty_ldisc_get(struct tty_struct *tty, int disc)
144 if (disc < N_TTY || disc >= NR_LDISCS)
151 ldops = get_ldops(disc);
155 request_module("tty-ldisc-%d", disc);
156 ldops = get_ldops(disc);
397 * @disc: line discipline number
407 static void tty_set_termios_ldisc(struct tty_struct *tty, int disc)
410 tty->termios.c_line = disc;
469 struct tty_ldisc *disc = tty_ldisc_get(tty, ld);
473 if (IS_ERR(disc))
474 return PTR_ERR(disc);
475 tty->ldisc = disc;
477 r = tty_ldisc_open(tty, disc);
479 tty_ldisc_put(disc);
512 * @disc: the line discipline number
519 int tty_set_ldisc(struct tty_struct *tty, int disc)
524 new_ldisc = tty_ldisc_get(tty, disc);
539 if (tty->ldisc->ops->num == disc)
549 retval = tty->ops->ldisc_ok(tty, disc);
561 tty_set_termios_ldisc(tty, disc);
638 * @disc: line discipline to reinitialize
647 int tty_ldisc_reinit(struct tty_struct *tty, int disc)
653 ld = tty_ldisc_get(tty, disc);
655 BUG_ON(disc == N_TTY);
666 tty_set_termios_ldisc(tty, disc);