Lines Matching refs:ld

156 	struct tty_ldisc *ld;  in tty_ldisc_get()  local
174 ld = kmalloc(sizeof(struct tty_ldisc), GFP_KERNEL); in tty_ldisc_get()
175 if (ld == NULL) { in tty_ldisc_get()
180 ld->ops = ldops; in tty_ldisc_get()
181 ld->tty = tty; in tty_ldisc_get()
183 return ld; in tty_ldisc_get()
191 static inline void tty_ldisc_put(struct tty_ldisc *ld) in tty_ldisc_put() argument
193 if (WARN_ON_ONCE(!ld)) in tty_ldisc_put()
196 put_ldops(ld->ops); in tty_ldisc_put()
197 kfree(ld); in tty_ldisc_put()
284 struct tty_ldisc *ld = NULL; in tty_ldisc_ref() local
287 ld = tty->ldisc; in tty_ldisc_ref()
288 if (!ld) in tty_ldisc_ref()
291 return ld; in tty_ldisc_ref()
303 void tty_ldisc_deref(struct tty_ldisc *ld) in tty_ldisc_deref() argument
305 ldsem_up_read(&ld->tty->ldisc_sem); in tty_ldisc_deref()
406 struct tty_ldisc *ld = tty_ldisc_ref(tty); in tty_ldisc_flush() local
408 tty_buffer_flush(tty, ld); in tty_ldisc_flush()
409 if (ld) in tty_ldisc_flush()
410 tty_ldisc_deref(ld); in tty_ldisc_flush()
444 static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld) in tty_ldisc_open() argument
447 if (ld->ops->open) { in tty_ldisc_open()
450 ret = ld->ops->open(tty); in tty_ldisc_open()
467 static void tty_ldisc_close(struct tty_struct *tty, struct tty_ldisc *ld) in tty_ldisc_close() argument
471 if (ld->ops->close) in tty_ldisc_close()
472 ld->ops->close(tty); in tty_ldisc_close()
630 struct tty_ldisc *ld = tty_ldisc_get(tty, ldisc); in tty_ldisc_reinit() local
632 if (IS_ERR(ld)) in tty_ldisc_reinit()
640 tty->ldisc = ld; in tty_ldisc_reinit()
663 struct tty_ldisc *ld; in tty_ldisc_hangup() local
669 ld = tty_ldisc_ref(tty); in tty_ldisc_hangup()
670 if (ld != NULL) { in tty_ldisc_hangup()
671 if (ld->ops->flush_buffer) in tty_ldisc_hangup()
672 ld->ops->flush_buffer(tty); in tty_ldisc_hangup()
675 ld->ops->write_wakeup) in tty_ldisc_hangup()
676 ld->ops->write_wakeup(tty); in tty_ldisc_hangup()
677 if (ld->ops->hangup) in tty_ldisc_hangup()
678 ld->ops->hangup(tty); in tty_ldisc_hangup()
679 tty_ldisc_deref(ld); in tty_ldisc_hangup()
732 struct tty_ldisc *ld = tty->ldisc; in tty_ldisc_setup() local
735 retval = tty_ldisc_open(tty, ld); in tty_ldisc_setup()
742 tty_ldisc_close(tty, ld); in tty_ldisc_setup()
805 struct tty_ldisc *ld = tty_ldisc_get(tty, N_TTY); in tty_ldisc_init() local
806 if (IS_ERR(ld)) in tty_ldisc_init()
808 tty->ldisc = ld; in tty_ldisc_init()