[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 69331af79c
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>
This commit is contained in:
Milton Miller 2007-06-10 14:32:43 +10:00 committed by Paul Mackerras
parent c63c4faa8c
commit 220ddc0847

View File

@ -151,12 +151,18 @@ static struct console udbg_console = {
static int early_console_initialized; static int early_console_initialized;
/* called by setup_system */ /*
* Called by setup_system after ppc_md->probe and ppc_md->early_init.
* Call it again after setting udbg_putc in ppc_md->setup_arch.
*/
void register_early_udbg_console(void) void register_early_udbg_console(void)
{ {
if (early_console_initialized) if (early_console_initialized)
return; return;
if (!udbg_putc)
return;
if (strstr(boot_command_line, "udbg-immortal")) { if (strstr(boot_command_line, "udbg-immortal")) {
printk(KERN_INFO "early console immortal !\n"); printk(KERN_INFO "early console immortal !\n");
udbg_console.flags &= ~CON_BOOT; udbg_console.flags &= ~CON_BOOT;