linux/drivers/serial
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
..
cpm_uart [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning 2007-05-09 23:44:58 -05:00
jsm PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
8250.c serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
8250.h
8250_accent.c
8250_acorn.c [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
8250_au1x00.c
8250_boca.c
8250_early.c serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c
8250_hp300.c
8250_hub6.c
8250_mca.c
8250_pci.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
8250_pnp.c [PATCH] add Fujitsu Siemens Tablet PC devices to 8250_pnp.c 2007-03-23 11:01:22 -07:00
21285.c
68328serial.c
68328serial.h
68360serial.c
Kconfig serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
Makefile [ARM] 4332/2: KS8695: Serial driver 2007-05-11 22:02:52 +01:00
amba-pl010.c [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking 2007-06-05 19:39:49 +01:00
amba-pl011.c [ARM] 4417/1: Serial: Fix AMBA drivers locking 2007-05-30 14:33:01 +01:00
atmel_serial.c [ARM] 4357/1: AT91: Support slower serial baud-rates 2007-05-03 14:12:45 +01:00
atmel_serial.h [ARM] 4357/1: AT91: Support slower serial baud-rates 2007-05-03 14:12:45 +01:00
bfin_5xx.c Blackfin serial driver: supporting BF548-EZKIT serial port 2007-07-12 16:43:46 +08:00
clps711x.c
crisv10.c
dz.c [PATCH] dz: remove struct pt_regs references 2007-03-05 07:57:51 -08:00
dz.h
icom.c icom: add new sub-device-id to support new adapter 2007-05-17 05:23:05 -07:00
icom.h do not truncate irq number for icom adapter 2007-04-24 08:23:08 -07:00
imx.c [ARM] 4328/1: Move i.MX UART regs to driver 2007-05-03 20:24:21 +01:00
ioc3_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ioc4_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ip22zilog.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ip22zilog.h
m32r_sio.c
m32r_sio.h
m32r_sio_reg.h
mcfserial.c [PATCH] m68knommu: fix work queues in mcfserial.c driver 2007-03-06 18:08:38 -08:00
mcfserial.h
mpc52xx_uart.c [POWERPC] Don't shutdown TX on mpc5200 serial port if it is a console 2007-05-07 20:31:15 +10:00
mpsc.c serial: clear proper MPSC interrupt cause bits 2007-06-28 11:38:29 -07:00
mux.c Merge branch 'parisc' from /home/kyle/repos/parisc-2.6.git 2007-02-17 00:18:23 -05:00
netx-serial.c
of_serial.c Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
pmac_zilog.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
pmac_zilog.h
pnx8xxx_uart.c [PATCH] PNX8550 UART driver 2007-02-14 08:09:52 -08:00
pxa.c [ARM] 4304/1: removes the unnecessary bit number from CKENnn_XXXX 2007-04-21 23:14:01 +01:00
s3c2410.c SPIN_LOCK_UNLOCKED cleanup in drivers/serial 2007-05-08 11:15:11 -07:00
sa1100.c
serial_core.c serial: assert DTR for serial console devices 2007-07-16 09:05:34 -07:00
serial_cs.c PCMCIA-NETDEV : add new ID of lan&modem multifunction card 2007-07-08 22:16:39 -04:00
serial_ks8695.c [ARM] 4411/1: KS8695: Another serial driver fix 2007-05-30 13:15:19 +01:00
serial_lh7a40x.c
serial_txx9.c serial_txx9: zap changelog from source code 2007-05-08 11:15:12 -07:00
sh-sci.c serial: sh-sci: Fix module clock refcount for serial console. 2007-05-07 02:11:56 +00:00
sh-sci.h sh: MS7712SE01 board support. 2007-05-07 02:10:54 +00:00
sn_console.c [PATCH] 2.6 Altix: console fix for CONFIG_DEBUG_SHIRQ usage 2007-03-08 07:39:15 -08:00
suncore.c [SPARC]: Linux always started with 9600 8N1 2007-05-29 02:50:07 -07:00
suncore.h
sunhv.c [SPARC64]: Add hypervisor API negotiation and fix console bugs. 2007-05-15 20:23:02 -07:00
sunsab.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sunsab.h
sunsu.c [SERIAL] sunsu: Fix section mismatch warnings. 2007-05-07 00:14:13 -07:00
sunzilog.c [SERIAL] sunzilog: section mismatch fix 2007-05-29 02:49:17 -07:00
sunzilog.h [SERIAL] sunzilog: Interrupt enable before ISR handler installed 2007-05-09 13:49:04 -07:00
uartlite.c
v850e_uart.c
vr41xx_siu.c [MIPS] separate platform_device registration for VR41xx serial interface 2007-07-12 17:41:13 +01:00