linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias
       [not found]   ` <200706120955.44097.yinghai.lu@sun.com>
@ 2007-06-21 17:42     ` Yinghai Lu
  2007-06-22 11:58       ` Andy Whitcroft
  0 siblings, 1 reply; 2+ messages in thread
From: Yinghai Lu @ 2007-06-21 17:42 UTC (permalink / raw)
  To: Bjorn Helgaas, Alex Chiang, akpm, ak, Gerd Hoffmann, rmk, Andy Whitcroft
  Cc: Linux Kernel Mailing List

[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;
+	}
 
 	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);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias
  2007-06-21 17:42     ` [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias Yinghai Lu
@ 2007-06-22 11:58       ` Andy Whitcroft
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Whitcroft @ 2007-06-22 11:58 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Bjorn Helgaas, Alex Chiang, akpm, ak, Gerd Hoffmann, rmk,
	Linux Kernel Mailing List

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-06-22 11:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200706010002.l5102LN5031209@shell0.pdx.osdl.net>
     [not found] ` <466EC86C.6000601@sun.com>
     [not found]   ` <200706120955.44097.yinghai.lu@sun.com>
2007-06-21 17:42     ` [PATCH] serial : convert early_uart to earlycon for 8250 fix 3 alias Yinghai Lu
2007-06-22 11:58       ` Andy Whitcroft

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).