diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-23 09:39:23 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-23 09:39:23 -0700 |
commit | 10af77c193681398e5dbe830db181d86047fcd41 (patch) | |
tree | b843eb8dae09a53efb410dd11d2132dba4fe4d15 /drivers/s390/char/keyboard.h | |
parent | 66f75a5d028beaf67c931435fdc3e7823125730c (diff) | |
parent | 5f1a38952b7e932a1c169c28917b9a831f641bcc (diff) |
Merge 3.4-rc4 into tty-next
This resolves the merge problem with:
drivers/tty/serial/pch_uart.c
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/s390/char/keyboard.h')
-rw-r--r-- | drivers/s390/char/keyboard.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/s390/char/keyboard.h b/drivers/s390/char/keyboard.h index 7e736aaeae6e..f682f4e49680 100644 --- a/drivers/s390/char/keyboard.h +++ b/drivers/s390/char/keyboard.h @@ -21,7 +21,7 @@ typedef void (fn_handler_fn)(struct kbd_data *); */ struct kbd_data { - struct tty_struct *tty; + struct tty_port *port; unsigned short **key_maps; char **func_table; fn_handler_fn **fn_handler; @@ -42,16 +42,24 @@ int kbd_ioctl(struct kbd_data *, unsigned int, unsigned long); * Helper Functions. */ static inline void -kbd_put_queue(struct tty_struct *tty, int ch) +kbd_put_queue(struct tty_port *port, int ch) { + struct tty_struct *tty = tty_port_tty_get(port); + if (!tty) + return; tty_insert_flip_char(tty, ch, 0); tty_schedule_flip(tty); + tty_kref_put(tty); } static inline void -kbd_puts_queue(struct tty_struct *tty, char *cp) +kbd_puts_queue(struct tty_port *port, char *cp) { + struct tty_struct *tty = tty_port_tty_get(port); + if (!tty) + return; while (*cp) tty_insert_flip_char(tty, *cp++, 0); tty_schedule_flip(tty); + tty_kref_put(tty); } |