kernel-ark/arch/powerpc/kernel
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
..
vdso32
vdso64
align.c [POWERPC] Alignment exception uses __get/put_user_inatomic 2007-04-13 04:09:38 +10:00
asm-offsets.c [POWERPC] Save trap number in bad_stack 2007-04-24 22:06:59 +10:00
audit.c
binfmt_elf32.c
btext.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
compat_audit.c
cpu_setup_6xx.S
cpu_setup_pa6t.S [POWERPC] pasemi: Enable one more hid bit 2007-04-24 21:31:49 +10:00
cpu_setup_ppc970.S
cputable.c [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
crash_dump.c
crash.c
dma_64.c
entry_32.S [POWERPC] Remove last_syscall 2007-03-22 22:52:58 +11:00
entry_64.S [POWERPC] Clear RI bit in MSR before restoring r13 when returning to userspace 2007-02-07 14:03:23 +11:00
firmware.c
fpu.S
head_4xx.S
head_8xx.S
head_32.S [POWERPC] Remove the broken Gemini support 2007-01-24 21:13:58 +11:00
head_44x.S [POWERPC] Remove ibm4{xx,4x}.h from arch/powerpc 2007-02-13 14:59:52 +11:00
head_64.S [POWERPC] Save trap number in bad_stack 2007-04-24 22:06:59 +10:00
head_booke.h
head_fsl_booke.S [POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S 2007-02-13 16:13:27 -06:00
ibmebus.c [POWERPC] ibmebus: change probe/remove interface from using loc-code to DT path 2007-04-13 06:12:42 +10:00
idle_6xx.S
idle_power4.S
idle.c [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
init_task.c
io.c
iomap.c [POWERPC] Remove fastcall function attribute 2007-01-26 01:52:27 -06:00
iommu.c Revert "[POWERPC] DMA 4GB boundary protection" 2007-04-26 19:48:15 +10:00
irq.c [POWERPC] Spinlock initializer cleanup 2007-04-30 11:02:06 +10:00
kprobes.c [POWERPC] kprobes: Eliminate sstep exception if instruction can be emulated 2007-04-24 21:31:58 +10:00
l2cr_6xx.S
legacy_serial.c serial: define FIXED_PORT flag for serial_core 2007-05-07 12:12:50 -07:00
lparcfg.c [POWERPC] Replace if-then-else with a switch statement 2007-04-27 21:13:21 +10:00
lparmap.c
machine_kexec_32.c
machine_kexec_64.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
machine_kexec.c
Makefile [PATCH] x86: Move swsusp __pa() dependent code to arch portion 2007-05-02 19:27:07 +02:00
misc_32.S [POWERPC] Remove _get_SP 2007-03-22 22:52:58 +11:00
misc_64.S [POWERPC] pasemi: UART udbg support 2007-02-07 14:03:22 +11:00
misc.S
module_32.c [POWERPC] Add support for R_PPC_ADDR16_HI relocations 2007-01-24 21:13:58 +11:00
module_64.c
nvram_64.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
of_device.c [POWERPC] Rename last get_property calls 2007-04-24 21:31:40 +10:00
of_platform.c Merge branch 'linux-2.6' into for-2.6.22 2007-04-30 12:38:01 +10:00
paca.c
pci_32.c [POWERPC] pci_32.c: Switch to ref counting PCI API 2007-04-24 22:12:20 +10:00
pci_64.c PCI: Convert to alloc_pci_dev() 2007-05-02 19:02:37 -07:00
pci_dn.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
pmc.c [POWERPC] PA6T PMC support 2007-02-07 14:03:19 +11:00
ppc32.h
ppc_ksyms.c Merge branch 'linux-2.6' into for-2.6.22 2007-04-30 12:38:01 +10:00
proc_ppc64.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
process.c [POWERPC] Make tlb flush batch use lazy MMU mode 2007-04-13 04:09:38 +10:00
prom_init.c [POWERPC] Add correct interrupt property for pegasos ide 2007-04-13 04:00:25 +10:00
prom_parse.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
prom.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
ptrace32.c
ptrace-common.h
ptrace.c [POWERPC] Mask 32-bit system call arguments to 32 bits on PPC64 in audit code 2007-01-24 21:13:58 +11:00
rtas_flash.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
rtas_pci.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
rtas-proc.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
rtas-rtc.c
rtas.c [POWERPC] Remove old interface find_path_device 2007-04-24 22:08:59 +10:00
semaphore.c
setup_32.c [POWERPC] Fix breakage caused by 72486f1f8f 2007-04-13 03:55:16 +10:00
setup_64.c [PATCH] x86: Allow percpu variables to be page-aligned 2007-05-02 19:27:12 +02:00
setup-common.c [POWERPC] Generic check_legacy_ioport 2007-04-27 21:14:30 +10:00
setup.h
signal_32.c
signal_64.c
smp-tbsync.c
smp.c [POWERPC] Make tlb flush batch use lazy MMU mode 2007-04-13 04:09:38 +10:00
suspend.c [PATCH] x86: Move swsusp __pa() dependent code to arch portion 2007-05-02 19:27:07 +02:00
swsusp_32.S
sys_ppc32.c [POWERPC] Clean up unused ROUND_UP, NAME_OFFSET macros in arch/powerpc 2007-04-13 04:00:41 +10:00
syscalls.c
sysfs.c [POWERPC] Remove old interface find_path_device 2007-04-24 22:08:59 +10:00
systbl.S
tau_6xx.c
time.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
traps.c [POWERPC] Fix backwards ? : when printing machine type 2007-03-26 12:34:31 +10:00
udbg_16550.c [PATCH] constant should be long 2007-03-14 15:27:50 -07:00
udbg.c Fixes and cleanups for earlyprintk aka boot console 2007-05-08 11:15:04 -07:00
vdso.c [POWERPC] Fix vDSO page count calculation 2007-02-13 15:35:52 +11:00
vecemu.c
vector.S
vio.c remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
vmlinux.lds.S [PATCH] x86: Allow percpu variables to be page-aligned 2007-05-02 19:27:12 +02:00