diff options
author | Jiri Slaby <jslaby@suse.cz> | 2013-01-03 09:53:06 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-16 01:30:15 -0500 |
commit | 2e124b4a390ca85325fae75764bef92f0547fa25 (patch) | |
tree | 5519fbcdbe954e79b271ea6d31ac5a4dc754c4f5 /arch/xtensa | |
parent | d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896 (diff) |
TTY: switch tty_flip_buffer_push
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.
Now, the one where most of tty_port_tty_get gets removed:
tty_flip_buffer_push.
IOW we also closed all the races in drivers not using tty_port_tty_get
at all yet.
Also we move tty_flip_buffer_push declaration from include/linux/tty.h
to include/linux/tty_flip.h to all others while we are changing it
anyway.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/xtensa')
-rw-r--r-- | arch/xtensa/platforms/iss/console.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c index 62447d63890c..da9866f7fecf 100644 --- a/arch/xtensa/platforms/iss/console.c +++ b/arch/xtensa/platforms/iss/console.c | |||
@@ -58,7 +58,8 @@ static int rs_open(struct tty_struct *tty, struct file * filp) | |||
58 | tty->port = &serial_port; | 58 | tty->port = &serial_port; |
59 | spin_lock(&timer_lock); | 59 | spin_lock(&timer_lock); |
60 | if (tty->count == 1) { | 60 | if (tty->count == 1) { |
61 | setup_timer(&serial_timer, rs_poll, (unsigned long)tty); | 61 | setup_timer(&serial_timer, rs_poll, |
62 | (unsigned long)&serial_port); | ||
62 | mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE); | 63 | mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE); |
63 | } | 64 | } |
64 | spin_unlock(&timer_lock); | 65 | spin_unlock(&timer_lock); |
@@ -97,9 +98,7 @@ static int rs_write(struct tty_struct * tty, | |||
97 | 98 | ||
98 | static void rs_poll(unsigned long priv) | 99 | static void rs_poll(unsigned long priv) |
99 | { | 100 | { |
100 | struct tty_struct* tty = (struct tty_struct*) priv; | 101 | struct tty_port *port = (struct tty_port *)priv; |
101 | struct tty_port *port = tty->port; | ||
102 | |||
103 | struct timeval tv = { .tv_sec = 0, .tv_usec = 0 }; | 102 | struct timeval tv = { .tv_sec = 0, .tv_usec = 0 }; |
104 | int i = 0; | 103 | int i = 0; |
105 | unsigned char c; | 104 | unsigned char c; |
@@ -113,7 +112,7 @@ static void rs_poll(unsigned long priv) | |||
113 | } | 112 | } |
114 | 113 | ||
115 | if (i) | 114 | if (i) |
116 | tty_flip_buffer_push(tty); | 115 | tty_flip_buffer_push(port); |
117 | 116 | ||
118 | 117 | ||
119 | mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE); | 118 | mod_timer(&serial_timer, jiffies + SERIAL_TIMER_VALUE); |