mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
mxser: rework and simplify mxser_open
In mxser_open, tty->port is already set thanks to tty_port_register_device in ->probe. So we can simply use container_of to deduce the struct mxser_port's pointer. Thus avoiding divisions and complex computations. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20210618061516.662-51-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c3db20c3b7
commit
42ad25fc46
@ -856,15 +856,12 @@ static void mxser_shutdown_port(struct tty_port *port)
|
||||
*/
|
||||
static int mxser_open(struct tty_struct *tty, struct file *filp)
|
||||
{
|
||||
struct mxser_port *info;
|
||||
int line = tty->index;
|
||||
struct tty_port *tport = tty->port;
|
||||
struct mxser_port *port = container_of(tport, struct mxser_port, port);
|
||||
|
||||
info = &mxser_boards[line / MXSER_PORTS_PER_BOARD].ports[line % MXSER_PORTS_PER_BOARD];
|
||||
if (!info->ioaddr)
|
||||
return -ENODEV;
|
||||
tty->driver_data = port;
|
||||
|
||||
tty->driver_data = info;
|
||||
return tty_port_open(&info->port, tty, filp);
|
||||
return tty_port_open(tport, tty, filp);
|
||||
}
|
||||
|
||||
static void mxser_flush_buffer(struct tty_struct *tty)
|
||||
|
Loading…
Reference in New Issue
Block a user