Lines Matching refs:ld
163 struct tty_ldisc *ld;
187 ld = kmalloc(sizeof(struct tty_ldisc), GFP_KERNEL | __GFP_NOFAIL);
188 ld->ops = ldops;
189 ld->tty = tty;
191 return ld;
199 static void tty_ldisc_put(struct tty_ldisc *ld)
201 if (WARN_ON_ONCE(!ld))
204 put_ldops(ld->ops);
205 kfree(ld);
265 struct tty_ldisc *ld;
268 ld = tty->ldisc;
269 if (!ld)
271 return ld;
286 struct tty_ldisc *ld = NULL;
289 ld = tty->ldisc;
290 if (!ld)
293 return ld;
299 * @ld: reference to free up
305 void tty_ldisc_deref(struct tty_ldisc *ld)
307 ldsem_up_read(&ld->tty->ldisc_sem);
413 struct tty_ldisc *ld = tty_ldisc_ref(tty);
415 tty_buffer_flush(tty, ld);
416 if (ld)
417 tty_ldisc_deref(ld);
450 * @ld: discipline to open
458 static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld)
461 if (ld->ops->open) {
464 ret = ld->ops->open(tty);
468 tty_ldisc_debug(tty, "%p: opened\n", ld);
477 * @ld: discipline to close
483 static void tty_ldisc_close(struct tty_struct *tty, struct tty_ldisc *ld)
488 if (ld->ops->close)
489 ld->ops->close(tty);
490 tty_ldisc_debug(tty, "%p: closed\n", ld);
496 * @ld: ldisc we are trying to fail back to
502 static int tty_ldisc_failto(struct tty_struct *tty, int ld)
504 struct tty_ldisc *disc = tty_ldisc_get(tty, ld);
511 tty_set_termios_ldisc(tty, ld);
676 struct tty_ldisc *ld;
680 ld = tty_ldisc_get(tty, disc);
681 if (IS_ERR(ld)) {
683 return PTR_ERR(ld);
692 tty->ldisc = ld;
719 struct tty_ldisc *ld;
723 ld = tty_ldisc_ref(tty);
724 if (ld != NULL) {
725 if (ld->ops->flush_buffer)
726 ld->ops->flush_buffer(tty);
729 ld->ops->write_wakeup)
730 ld->ops->write_wakeup(tty);
731 if (ld->ops->hangup)
732 ld->ops->hangup(tty);
733 tty_ldisc_deref(ld);
831 struct tty_ldisc *ld = tty_ldisc_get(tty, N_TTY);
832 if (IS_ERR(ld))
833 return PTR_ERR(ld);
834 tty->ldisc = ld;