serial: 8250_early: Remove early_device variable
authorPeter Hurley <peter@hurleysoftware.com>
Mon, 9 Mar 2015 20:27:14 +0000 (16:27 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 15:16:20 +0000 (16:16 +0100)
early_device was only required for serial8250_find_port_for_earlycon(),
which was replaced by extensible console matching.

Fixup early_serial8250_write() to get the earlycon_device * from
console->data (which is initialized by {of_}setup_earlycon()).

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_early.c

index 49bca65057e68c337a30fbcf5cbd8b34eb75c8f4..d7b831bcf367ab5d6d2634ea9f8eea2b420c9c17 100644 (file)
@@ -36,8 +36,6 @@
 #include <asm/io.h>
 #include <asm/serial.h>
 
-static struct earlycon_device *early_device;
-
 unsigned int __weak __init serial8250_early_in(struct uart_port *port, int offset)
 {
        switch (port->iotype) {
@@ -90,7 +88,8 @@ static void __init serial_putc(struct uart_port *port, int c)
 static void __init early_serial8250_write(struct console *console,
                                        const char *s, unsigned int count)
 {
-       struct uart_port *port = &early_device->port;
+       struct earlycon_device *device = console->data;
+       struct uart_port *port = &device->port;
        unsigned int ier;
 
        /* Save the IER and disable interrupts preserving the UUE bit */
@@ -157,7 +156,6 @@ static int __init early_serial8250_setup(struct earlycon_device *device,
 
        init_port(device);
 
-       early_device = device;
        device->con->write = early_serial8250_write;
        return 0;
 }