Yinghai Lu 18a8bd949d serial: convert early_uart to earlycon for 8250
Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
include/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in
serial initializing stage.  the console_init=>serial8250_console_init=>
register_console=>serial8250_console_setup will return -ENDEV, and console
ttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in
drivers/serial/serial_core.c to call register_console to get console ttyS0.
that is too late.

Make early_uart to use early_param, so uart console can be used earlier.  Make
it to be bootconsole with CON_BOOT flag, so can use console handover feature.
and it will switch to corresponding normal serial console automatically.

new command line will be:
	console=uart8250,io,0x3f8,9600n8
	console=uart8250,mmio,0xff5e0000,115200n8
or
	earlycon=uart8250,io,0x3f8,9600n8
	earlycon=uart8250,mmio,0xff5e0000,115200n8

it will print in very early stage:
	Early serial console at I/O port 0x3f8 (options '9600n8')
	console [uart0] enabled
later for console it will print:
	console handover: boot [uart0] -> real [ttyS0]

Signed-off-by: <yinghai.lu@sun.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-16 09:05:35 -07:00
..
2005-09-07 16:57:21 -07:00
2006-12-08 08:28:39 -08:00
2007-05-08 11:15:20 -07:00
2007-03-05 07:57:52 -08:00
2007-05-02 19:27:15 +02:00
2007-04-25 22:23:33 -07:00
2007-06-20 14:27:25 -07:00
2006-01-18 19:20:31 -08:00
2007-02-16 08:13:59 -08:00
2007-03-05 07:57:50 -08:00
2006-01-10 08:01:34 -08:00
2006-10-03 08:03:41 -07:00
2006-02-15 15:32:22 -08:00
2007-05-09 12:30:57 -07:00
2007-02-16 08:13:59 -08:00
2007-05-02 19:27:20 +02:00
2007-06-25 14:54:52 -07:00
2007-07-11 16:02:11 -07:00
2007-05-02 19:27:16 +02:00
2007-05-12 11:26:22 -07:00
2007-05-11 08:29:34 -07:00
2007-02-13 13:26:21 +01:00
2006-09-26 10:52:32 +02:00
2007-05-02 19:02:34 -07:00
2007-05-02 19:27:16 +02:00
2007-05-08 11:15:20 -07:00
2007-05-09 12:30:56 -07:00
2007-03-05 07:57:52 -08:00
2007-05-21 09:18:19 -07:00
2007-03-05 07:57:51 -08:00
2006-12-15 08:47:51 -08:00
2006-10-12 22:25:03 -05:00
2007-03-05 07:57:52 -08:00