aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2007-06-10 00:32:43 -0400
committerPaul Mackerras <paulus@samba.org>2007-06-13 21:56:17 -0400
commit220ddc0847ebd42d18ee78c7e1c2f4c2e3be637d (patch)
tree22f9a16bd62bd5f0041673dfa0abbfd695a0144a
parentc63c4faa8cf055319c7ed557d2050c1c3776fac5 (diff)
[POWERPC] Fix console output getting dropped on platforms without udbg_putc
Previously, registering this early console would just result in dropping early buffered printk output until a udbg_putc was registered. However, commit 69331af79cf29e26d1231152a172a1a10c2df511 clears the CON_PRINTBUFFER flag on the main console when a CON_BOOT (early) console has been registered, resulting in the buffered messages never being displayed to the user. This fixes the problem by making sure we don't register udbg_console on platforms that don't implement udbg_putc. Signed-off-by: Milton Miller <miltonm@bga.com> Acked-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/powerpc/kernel/udbg.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c
index 87703df87509..cbca1df8bc60 100644
--- a/arch/powerpc/kernel/udbg.c
+++ b/arch/powerpc/kernel/udbg.c
@@ -151,12 +151,18 @@ static struct console udbg_console = {
151 151
152static int early_console_initialized; 152static int early_console_initialized;
153 153
154/* called by setup_system */ 154/*
155 * Called by setup_system after ppc_md->probe and ppc_md->early_init.
156 * Call it again after setting udbg_putc in ppc_md->setup_arch.
157 */
155void register_early_udbg_console(void) 158void register_early_udbg_console(void)
156{ 159{
157 if (early_console_initialized) 160 if (early_console_initialized)
158 return; 161 return;
159 162
163 if (!udbg_putc)
164 return;
165
160 if (strstr(boot_command_line, "udbg-immortal")) { 166 if (strstr(boot_command_line, "udbg-immortal")) {
161 printk(KERN_INFO "early console immortal !\n"); 167 printk(KERN_INFO "early console immortal !\n");
162 udbg_console.flags &= ~CON_BOOT; 168 udbg_console.flags &= ~CON_BOOT;