Re: [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>
> 
> --- 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 <[email protected]>

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux