Merge tag 'v3.10.61' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / tty / serial / 8250 / 8250_early.c
index e83c9db3300cac9525889d437fb4204cf53eb3ef..4858b8a99d3b4fcdbd4702c08a89442c6fb795fa 100644 (file)
@@ -144,8 +144,11 @@ static int __init early_serial8250_setup(struct earlycon_device *device,
        if (!(device->port.membase || device->port.iobase))
                return 0;
 
-       if (!device->baud)
+       if (!device->baud) {
                device->baud = probe_baud(&device->port);
+               snprintf(device->options, sizeof(device->options), "%u",
+                        device->baud);
+       }
 
        init_port(device);
 
@@ -156,6 +159,16 @@ static int __init early_serial8250_setup(struct earlycon_device *device,
 EARLYCON_DECLARE(uart8250, early_serial8250_setup);
 EARLYCON_DECLARE(uart, early_serial8250_setup);
 
+int __init setup_early_serial8250_console(char *cmdline)
+{
+       char match[] = "uart8250";
+
+       if (cmdline && cmdline[4] == ',')
+               match[4] = '\0';
+
+       return setup_earlycon(cmdline, match, early_serial8250_setup);
+}
+
 int serial8250_find_port_for_earlycon(void)
 {
        struct earlycon_device *device = early_device;