lkml.org 
[lkml]   [2007]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias
    Yinghai Lu wrote:
    > [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias
    >
    > make the console=uart,io,0x3f8,9600n8 like console=uart8250,io,0x3f8,9600
    > suggested by Andy Whitcroft.
    >
    > Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
    >
    > --- a/Documentation/kernel-parameters.txt 2007-06-21 10:12:48.000000000 -0700
    > +++ b/Documentation/kernel-parameters.txt 2007-06-21 10:13:43.000000000 -0700
    > @@ -467,16 +467,16 @@
    > Documentation/networking/netconsole.txt for an
    > alternative.
    >
    > - uart8250,io,<addr>[,options]
    > - uart8250,mmio,<addr>[,options]
    > + uart[8250],io,<addr>[,options]
    > + uart[8250],mmio,<addr>[,options]
    > Start an early, polled-mode console on the 8250/16550
    > UART at the specified I/O port or MMIO address,
    > switching to the matching ttyS device later. The
    > options are the same as for ttyS, above.
    >
    > earlycon= [KNL] Output early console device and options.
    > - uart8250,io,<addr>[,options]
    > - uart8250,mmio,<addr>[,options]
    > + uart[8250],io,<addr>[,options]
    > + uart[8250],mmio,<addr>[,options]
    > Start an early, polled-mode console on the 8250/16550
    > UART at the specified I/O port or MMIO address.
    > The options are the same as for ttyS, above.
    > --- a/drivers/serial/8250_early.c 2007-06-21 10:04:25.000000000 -0700
    > +++ b/drivers/serial/8250_early.c 2007-06-21 10:12:08.000000000 -0700
    > @@ -210,8 +210,11 @@
    > int err;
    >
    > options = strstr(cmdline, "uart8250,");
    > - if (!options)
    > - return 0;
    > + if (!options) {
    > + options = strstr(cmdline, "uart,");
    > + if (!options)
    > + return 0;
    > + }

    This could probabally be written as below and be a little clearer:

    options = strstr(cmdline, "uart8250,");
    if (!options)
    options = strstr(cmdline, "uart,");
    if (!options)
    return 0;



    >
    > options = strchr(cmdline, ',') + 1;
    > if ((err = early_serial8250_setup(options)) < 0)
    > @@ -227,6 +230,7 @@
    > struct early_serial8250_device *device = &early_device;
    > struct uart_port *port = &device->port;
    > int line;
    > + int ret;
    >
    > if (!device->port.membase && !device->port.iobase)
    > return -ENODEV;
    > @@ -235,8 +239,13 @@
    > if (line < 0)
    > return -ENODEV;
    >
    > - return update_console_cmdline("uart", 8250,
    > + ret = update_console_cmdline("uart", 8250,
    > + "ttyS", line, device->options);
    > + if (ret < 0)
    > + ret = update_console_cmdline("uart", 0,
    > "ttyS", line, device->options);
    > +
    > + return ret;
    > }
    >
    > early_param("earlycon", setup_early_serial8250_console);

    Other than the little nit above I have tested this on the machine which
    was all upset over the change and it works like a charm.

    Acked-by: Andy Whitcroft <apw@shadowen.org>

    -apw
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-22 14:01    [W:0.025 / U:91.956 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site