1
linux/drivers
Gerd Hoffmann 69331af79c Fixes and cleanups for earlyprintk aka boot console
The console subsystem already has an idea of a boot console, using the
CON_BOOT flag.  The implementation has some flaws though.  The major
problem is that presence of a boot console makes register_console() ignore
any other console devices (unless explicitly specified on the kernel
command line).

This patch fixes the console selection code to *not* consider a boot
console a full-featured one, so the first non-boot console registering will
become the default console instead.  This way the unregister call for the
boot console in the register_console() function actually triggers and the
handover from the boot console to the real console device works smoothly.
Added a printk for the handover, so you know which console device the
output goes to when the boot console stops printing messages.

The disable_early_printk() call is obsolete with that patch, explicitly
disabling the early console isn't needed any more as it works automagically
with that patch.

I've walked through the tree, dropped all disable_early_printk() instances
found below arch/ and tagged the consoles with CON_BOOT if needed.  The
code is tested on x86, sh (thanks to Paul) and mips (thanks to Ralf).

Changes to last version: Rediffed against -rc3, adapted to mips cleanups by
Ralf, fixed "udbg-immortal" cmd line arg on powerpc.

Signed-off-by: Gerd Hoffmann <kraxel@exsuse.de>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:04 -07:00
..
acorn
acpi Fix section mismatch of memory hotplug related code. 2007-05-08 11:14:57 -07:00
amba
ata
atm
auxdisplay
base Introduce CONFIG_HAS_DMA 2007-05-07 12:12:51 -07:00
block floppy: handle device_create_file() failure while init 2007-05-08 11:15:02 -07:00
bluetooth
cdrom mm: remove destroy_dirty_buffers from invalidate_bdev() 2007-05-07 12:12:55 -07:00
char Fixes and cleanups for earlyprintk aka boot console 2007-05-08 11:15:04 -07:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa virtual_eisa_root_init() should be __init 2007-05-08 11:15:02 -07:00
fc4
firmware
hid
hwmon Apple SMC driver (hardware monitoring and control) 2007-05-08 11:15:00 -07:00
i2c remove software_suspend() 2007-05-07 12:12:59 -07:00
ide
ieee1394
infiniband Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2007-05-07 12:18:21 -07:00
input
isdn
kvm
leds
macintosh
mca
md mm: remove destroy_dirty_buffers from invalidate_bdev() 2007-05-07 12:12:55 -07:00
media cx88-video build fix 2007-05-07 12:13:04 -07:00
message remove unused header file: drivers/message/i2o/i2o_lan.h 2007-05-08 11:15:02 -07:00
mfd
misc
mmc
mtd slab allocators: Remove SLAB_DEBUG_INITIAL flag 2007-05-07 12:12:57 -07:00
net Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-05-07 12:23:31 -07:00
nubus
oprofile
parisc
parport
pci
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
pnp init dma masks in pnp_dev 2007-05-08 11:15:00 -07:00
ps3
rapidio
rtc rtc: add RTC class driver for the Maxim MAX6900 2007-05-08 11:15:03 -07:00
s390
sbus
scsi [SCSI] esp_scsi: Fix section mismatch warnings. 2007-05-07 14:05:03 -07:00
serial Subject: jsm driver fix for linuxpps support 2007-05-08 11:15:03 -07:00
sh
sn
spi spi_s3c24xx.c: Fix build 2007-05-07 12:13:04 -07:00
tc
telephony replace pci_find_device in drivers/telephony/ixj.c 2007-05-08 11:15:02 -07:00
usb ehci-ps3, ohci-ps3: fix compilation 2007-05-07 12:13:04 -07:00
video [VIDEO] sunxvr2500: Fix PCI device ID table. 2007-05-07 14:02:51 -07:00
w1
zorro
Kconfig
Makefile