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

TTY: con3215, add tty install

This has two outcomes:
* we give the TTY layer a tty_port
* we do not find the info structure every time open is called on that
  tty
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Cc: linux-s390@vger.kernel.org
Acked-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3ec0a17e
...@@ -942,6 +942,19 @@ static int __init con3215_init(void) ...@@ -942,6 +942,19 @@ static int __init con3215_init(void)
console_initcall(con3215_init); console_initcall(con3215_init);
#endif #endif
static int tty3215_install(struct tty_driver *driver, struct tty_struct *tty)
{
struct raw3215_info *raw;
raw = raw3215[tty->index];
if (raw == NULL)
return -ENODEV;
tty->driver_data = raw;
return tty_port_install(&raw->port, driver, tty);
}
/* /*
* tty3215_open * tty3215_open
* *
...@@ -949,14 +962,9 @@ console_initcall(con3215_init); ...@@ -949,14 +962,9 @@ console_initcall(con3215_init);
*/ */
static int tty3215_open(struct tty_struct *tty, struct file * filp) static int tty3215_open(struct tty_struct *tty, struct file * filp)
{ {
struct raw3215_info *raw; struct raw3215_info *raw = tty->driver_data;
int retval; int retval;
raw = raw3215[tty->index];
if (raw == NULL)
return -ENODEV;
tty->driver_data = raw;
tty_port_tty_set(&raw->port, tty); tty_port_tty_set(&raw->port, tty);
tty->low_latency = 0; /* don't use bottom half for pushing chars */ tty->low_latency = 0; /* don't use bottom half for pushing chars */
...@@ -1117,6 +1125,7 @@ static void tty3215_start(struct tty_struct *tty) ...@@ -1117,6 +1125,7 @@ static void tty3215_start(struct tty_struct *tty)
} }
static const struct tty_operations tty3215_ops = { static const struct tty_operations tty3215_ops = {
.install = tty3215_install,
.open = tty3215_open, .open = tty3215_open,
.close = tty3215_close, .close = tty3215_close,
.write = tty3215_write, .write = tty3215_write,
......
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