aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tty.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/tty.h')
-rw-r--r--include/linux/tty.h23
1 files changed, 9 insertions, 14 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 7f9d7df9b131..40b18d7ad929 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -268,7 +268,6 @@ struct tty_struct {
268 struct mutex ldisc_mutex; 268 struct mutex ldisc_mutex;
269 struct tty_ldisc *ldisc; 269 struct tty_ldisc *ldisc;
270 270
271 struct mutex legacy_mutex;
272 struct mutex termios_mutex; 271 struct mutex termios_mutex;
273 spinlock_t ctrl_lock; 272 spinlock_t ctrl_lock;
274 /* Termios values are protected by the termios mutex */ 273 /* Termios values are protected by the termios mutex */
@@ -611,12 +610,8 @@ extern long vt_compat_ioctl(struct tty_struct *tty,
611 610
612/* tty_mutex.c */ 611/* tty_mutex.c */
613/* functions for preparation of BKL removal */ 612/* functions for preparation of BKL removal */
614extern void __lockfunc tty_lock(struct tty_struct *tty); 613extern void __lockfunc tty_lock(void) __acquires(tty_lock);
615extern void __lockfunc tty_unlock(struct tty_struct *tty); 614extern void __lockfunc tty_unlock(void) __releases(tty_lock);
616extern void __lockfunc tty_lock_pair(struct tty_struct *tty,
617 struct tty_struct *tty2);
618extern void __lockfunc tty_unlock_pair(struct tty_struct *tty,
619 struct tty_struct *tty2);
620 615
621/* 616/*
622 * this shall be called only from where BTM is held (like close) 617 * this shall be called only from where BTM is held (like close)
@@ -631,9 +626,9 @@ extern void __lockfunc tty_unlock_pair(struct tty_struct *tty,
631static inline void tty_wait_until_sent_from_close(struct tty_struct *tty, 626static inline void tty_wait_until_sent_from_close(struct tty_struct *tty,
632 long timeout) 627 long timeout)
633{ 628{
634 tty_unlock(tty); /* tty->ops->close holds the BTM, drop it while waiting */ 629 tty_unlock(); /* tty->ops->close holds the BTM, drop it while waiting */
635 tty_wait_until_sent(tty, timeout); 630 tty_wait_until_sent(tty, timeout);
636 tty_lock(tty); 631 tty_lock();
637} 632}
638 633
639/* 634/*
@@ -648,16 +643,16 @@ static inline void tty_wait_until_sent_from_close(struct tty_struct *tty,
648 * 643 *
649 * Do not use in new code. 644 * Do not use in new code.
650 */ 645 */
651#define wait_event_interruptible_tty(tty, wq, condition) \ 646#define wait_event_interruptible_tty(wq, condition) \
652({ \ 647({ \
653 int __ret = 0; \ 648 int __ret = 0; \
654 if (!(condition)) { \ 649 if (!(condition)) { \
655 __wait_event_interruptible_tty(tty, wq, condition, __ret); \ 650 __wait_event_interruptible_tty(wq, condition, __ret); \
656 } \ 651 } \
657 __ret; \ 652 __ret; \
658}) 653})
659 654
660#define __wait_event_interruptible_tty(tty, wq, condition, ret) \ 655#define __wait_event_interruptible_tty(wq, condition, ret) \
661do { \ 656do { \
662 DEFINE_WAIT(__wait); \ 657 DEFINE_WAIT(__wait); \
663 \ 658 \
@@ -666,9 +661,9 @@ do { \
666 if (condition) \ 661 if (condition) \
667 break; \ 662 break; \
668 if (!signal_pending(current)) { \ 663 if (!signal_pending(current)) { \
669 tty_unlock(tty); \ 664 tty_unlock(); \
670 schedule(); \ 665 schedule(); \
671 tty_lock(tty); \ 666 tty_lock(); \
672 continue; \ 667 continue; \
673 } \ 668 } \
674 ret = -ERESTARTSYS; \ 669 ret = -ERESTARTSYS; \