Commit bddc7152 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

TTY: move ldisc data from tty_struct: locks

atomic_write_lock is not n_tty specific, so move it up in the
tty_struct.

And since these are the last ones to move, remove also the comment
saying there are some ldisc' members. There are none now.
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Acked-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ba2e68ac
This diff is collapsed.
...@@ -2939,11 +2939,7 @@ void initialize_tty_struct(struct tty_struct *tty, ...@@ -2939,11 +2939,7 @@ void initialize_tty_struct(struct tty_struct *tty,
init_waitqueue_head(&tty->write_wait); init_waitqueue_head(&tty->write_wait);
init_waitqueue_head(&tty->read_wait); init_waitqueue_head(&tty->read_wait);
INIT_WORK(&tty->hangup_work, do_tty_hangup); INIT_WORK(&tty->hangup_work, do_tty_hangup);
mutex_init(&tty->atomic_read_lock);
mutex_init(&tty->atomic_write_lock); mutex_init(&tty->atomic_write_lock);
mutex_init(&tty->output_lock);
mutex_init(&tty->echo_lock);
spin_lock_init(&tty->read_lock);
spin_lock_init(&tty->ctrl_lock); spin_lock_init(&tty->ctrl_lock);
INIT_LIST_HEAD(&tty->tty_files); INIT_LIST_HEAD(&tty->tty_files);
INIT_WORK(&tty->SAK_work, do_SAK_work); INIT_WORK(&tty->SAK_work, do_SAK_work);
......
...@@ -235,6 +235,7 @@ struct tty_struct { ...@@ -235,6 +235,7 @@ struct tty_struct {
struct mutex ldisc_mutex; struct mutex ldisc_mutex;
struct tty_ldisc *ldisc; struct tty_ldisc *ldisc;
struct mutex atomic_write_lock;
struct mutex legacy_mutex; struct mutex legacy_mutex;
struct mutex termios_mutex; struct mutex termios_mutex;
spinlock_t ctrl_lock; spinlock_t ctrl_lock;
...@@ -265,20 +266,10 @@ struct tty_struct { ...@@ -265,20 +266,10 @@ struct tty_struct {
#define N_TTY_BUF_SIZE 4096 #define N_TTY_BUF_SIZE 4096
/*
* The following is data for the N_TTY line discipline. For
* historical reasons, this is included in the tty structure.
* Mostly locked by the BKL.
*/
unsigned char closing:1; unsigned char closing:1;
unsigned short minimum_to_wake; unsigned short minimum_to_wake;
struct mutex atomic_read_lock;
struct mutex atomic_write_lock;
struct mutex output_lock;
struct mutex echo_lock;
unsigned char *write_buf; unsigned char *write_buf;
int write_cnt; int write_cnt;
spinlock_t read_lock;
/* If the tty has a pending do_SAK, queue it here - akpm */ /* If the tty has a pending do_SAK, queue it here - akpm */
struct work_struct SAK_work; struct work_struct SAK_work;
struct tty_port *port; struct tty_port *port;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment