Lines Matching refs:ld

161 	struct tty_ldisc *ld;  in tty_ldisc_get()  local
183 ld = kmalloc(sizeof(struct tty_ldisc), GFP_KERNEL | __GFP_NOFAIL); in tty_ldisc_get()
184 ld->ops = ldops; in tty_ldisc_get()
185 ld->tty = tty; in tty_ldisc_get()
187 return ld; in tty_ldisc_get()
195 static void tty_ldisc_put(struct tty_ldisc *ld) in tty_ldisc_put() argument
197 if (WARN_ON_ONCE(!ld)) in tty_ldisc_put()
200 put_ldops(ld->ops); in tty_ldisc_put()
201 kfree(ld); in tty_ldisc_put()
261 struct tty_ldisc *ld; in tty_ldisc_ref_wait() local
264 ld = tty->ldisc; in tty_ldisc_ref_wait()
265 if (!ld) in tty_ldisc_ref_wait()
267 return ld; in tty_ldisc_ref_wait()
282 struct tty_ldisc *ld = NULL; in tty_ldisc_ref() local
285 ld = tty->ldisc; in tty_ldisc_ref()
286 if (!ld) in tty_ldisc_ref()
289 return ld; in tty_ldisc_ref()
301 void tty_ldisc_deref(struct tty_ldisc *ld) in tty_ldisc_deref() argument
303 ldsem_up_read(&ld->tty->ldisc_sem); in tty_ldisc_deref()
402 struct tty_ldisc *ld = tty_ldisc_ref(tty); in tty_ldisc_flush() local
404 tty_buffer_flush(tty, ld); in tty_ldisc_flush()
405 if (ld) in tty_ldisc_flush()
406 tty_ldisc_deref(ld); in tty_ldisc_flush()
447 static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld) in tty_ldisc_open() argument
450 if (ld->ops->open) { in tty_ldisc_open()
453 ret = ld->ops->open(tty); in tty_ldisc_open()
457 tty_ldisc_debug(tty, "%p: opened\n", ld); in tty_ldisc_open()
472 static void tty_ldisc_close(struct tty_struct *tty, struct tty_ldisc *ld) in tty_ldisc_close() argument
476 if (ld->ops->close) in tty_ldisc_close()
477 ld->ops->close(tty); in tty_ldisc_close()
478 tty_ldisc_debug(tty, "%p: closed\n", ld); in tty_ldisc_close()
490 static int tty_ldisc_failto(struct tty_struct *tty, int ld) in tty_ldisc_failto() argument
492 struct tty_ldisc *disc = tty_ldisc_get(tty, ld); in tty_ldisc_failto()
498 tty_set_termios_ldisc(tty, ld); in tty_ldisc_failto()
662 struct tty_ldisc *ld; in tty_ldisc_reinit() local
665 ld = tty_ldisc_get(tty, disc); in tty_ldisc_reinit()
666 if (IS_ERR(ld)) { in tty_ldisc_reinit()
668 return PTR_ERR(ld); in tty_ldisc_reinit()
677 tty->ldisc = ld; in tty_ldisc_reinit()
704 struct tty_ldisc *ld; in tty_ldisc_hangup() local
708 ld = tty_ldisc_ref(tty); in tty_ldisc_hangup()
709 if (ld != NULL) { in tty_ldisc_hangup()
710 if (ld->ops->flush_buffer) in tty_ldisc_hangup()
711 ld->ops->flush_buffer(tty); in tty_ldisc_hangup()
714 ld->ops->write_wakeup) in tty_ldisc_hangup()
715 ld->ops->write_wakeup(tty); in tty_ldisc_hangup()
716 if (ld->ops->hangup) in tty_ldisc_hangup()
717 ld->ops->hangup(tty); in tty_ldisc_hangup()
718 tty_ldisc_deref(ld); in tty_ldisc_hangup()
812 struct tty_ldisc *ld = tty_ldisc_get(tty, N_TTY); in tty_ldisc_init() local
813 if (IS_ERR(ld)) in tty_ldisc_init()
814 return PTR_ERR(ld); in tty_ldisc_init()
815 tty->ldisc = ld; in tty_ldisc_init()