From 0a16e2c1a6221703aa4d4942c95e37d641e87cc7 Mon Sep 17 00:00:00 2001 From: Peter Hurley Date: Tue, 24 Feb 2015 14:25:08 -0500 Subject: [PATCH] serial: 8250: Separate port initialization Prepare for 8250 split; introduce serial8250_init_port() to initialize port fields uncoupled from port structure storage. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/8250/8250_core.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 06bb2ce..e59fd1d 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -3134,6 +3134,16 @@ void serial8250_set_isa_configurator( } EXPORT_SYMBOL(serial8250_set_isa_configurator); +static void serial8250_init_port(struct uart_8250_port *up) +{ + struct uart_port *port = &up->port; + + spin_lock_init(&port->lock); + port->ops = &serial8250_pops; + + up->cur_iotype = 0xFF; +} + static void __init serial8250_isa_init_ports(void) { struct uart_8250_port *up; @@ -3152,11 +3162,10 @@ static void __init serial8250_isa_init_ports(void) struct uart_port *port = &up->port; port->line = i; - spin_lock_init(&port->lock); + serial8250_init_port(up); init_timer(&up->timer); up->timer.function = serial8250_timeout; - up->cur_iotype = 0xFF; up->ops = &univ8250_driver_ops; @@ -3165,8 +3174,6 @@ static void __init serial8250_isa_init_ports(void) */ up->mcr_mask = ~ALPHA_KLUDGE_MCR; up->mcr_force = ALPHA_KLUDGE_MCR; - - port->ops = &serial8250_pops; } if (share_irqs) -- 2.7.4