Lines Matching refs:ld

141 	struct tty_ldisc *ld;
165 ld = kmalloc(sizeof(struct tty_ldisc), GFP_KERNEL | __GFP_NOFAIL);
166 ld->ops = ldops;
167 ld->tty = tty;
169 return ld;
174 * @ld: lisdsc to release
178 static void tty_ldisc_put(struct tty_ldisc *ld)
180 if (WARN_ON_ONCE(!ld))
183 put_ldops(ld->ops);
184 kfree(ld);
241 struct tty_ldisc *ld;
244 ld = tty->ldisc;
245 if (!ld)
247 return ld;
261 struct tty_ldisc *ld = NULL;
264 ld = tty->ldisc;
265 if (!ld)
268 return ld;
274 * @ld: reference to free up
279 void tty_ldisc_deref(struct tty_ldisc *ld)
281 ldsem_up_read(&ld->tty->ldisc_sem);
386 struct tty_ldisc *ld = tty_ldisc_ref(tty);
388 tty_buffer_flush(tty, ld);
389 if (ld)
390 tty_ldisc_deref(ld);
420 * @ld: discipline to open
426 static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld)
429 if (ld->ops->open) {
432 ret = ld->ops->open(tty);
436 tty_ldisc_debug(tty, "%p: opened\n", ld);
445 * @ld: discipline to close
449 static void tty_ldisc_close(struct tty_struct *tty, struct tty_ldisc *ld)
454 if (ld->ops->close)
455 ld->ops->close(tty);
456 tty_ldisc_debug(tty, "%p: closed\n", ld);
462 * @ld: ldisc we are trying to fail back to
467 static int tty_ldisc_failto(struct tty_struct *tty, int ld)
469 struct tty_ldisc *disc = tty_ldisc_get(tty, ld);
476 tty_set_termios_ldisc(tty, ld);
649 struct tty_ldisc *ld;
653 ld = tty_ldisc_get(tty, disc);
654 if (IS_ERR(ld)) {
656 return PTR_ERR(ld);
665 tty->ldisc = ld;
692 struct tty_ldisc *ld;
696 ld = tty_ldisc_ref(tty);
697 if (ld != NULL) {
698 if (ld->ops->flush_buffer)
699 ld->ops->flush_buffer(tty);
702 ld->ops->write_wakeup)
703 ld->ops->write_wakeup(tty);
704 if (ld->ops->hangup)
705 ld->ops->hangup(tty);
706 tty_ldisc_deref(ld);
803 struct tty_ldisc *ld = tty_ldisc_get(tty, N_TTY);
805 if (IS_ERR(ld))
806 return PTR_ERR(ld);
807 tty->ldisc = ld;