serial: 8250: Separate port initialization
authorPeter Hurley <peter@hurleysoftware.com>
Tue, 24 Feb 2015 19:25:08 +0000 (14:25 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 17:17:35 +0000 (18:17 +0100)
Prepare for 8250 split; introduce serial8250_init_port() to initialize
port fields uncoupled from port structure storage.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_core.c

index 06bb2ced2c94e52679d0ed2e2d378e130fb62579..e59fd1dc1ad53ec5b5d0c73fb927bfa6e64a14fb 100644 (file)
@@ -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)