X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Fpowerpc%2Fkernel%2Fudbg.c;h=d723070c9a33aaec3774dc2444b787c6f2f75b46;hb=6d39635959fe2f072130789a95e11ff97fb27b58;hp=7e0971868fc25ec77377feb5ac7c34e195a1fd8f;hpb=b0138a6cb7923a997d278b47c176778534d1095b;p=linux-2.6 diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index 7e0971868f..d723070c9a 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c @@ -51,6 +51,11 @@ void __init udbg_early_init(void) udbg_init_pas_realmode(); #elif defined(CONFIG_BOOTX_TEXT) udbg_init_btext(); +#elif defined(CONFIG_PPC_EARLY_DEBUG_44x) + /* PPC44x debug */ + udbg_init_44x_as1(); +#elif defined(CONFIG_PPC_EARLY_DEBUG_CPM) + udbg_init_cpm(); #endif } @@ -142,29 +147,28 @@ static void udbg_console_write(struct console *con, const char *s, static struct console udbg_console = { .name = "udbg", .write = udbg_console_write, - .flags = CON_PRINTBUFFER | CON_ENABLED, + .flags = CON_PRINTBUFFER | CON_ENABLED | CON_BOOT, .index = -1, }; static int early_console_initialized; -void __init disable_early_printk(void) +/* + * 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 __init register_early_udbg_console(void) { - if (!early_console_initialized) + if (early_console_initialized) return; + + if (!udbg_putc) + return; + if (strstr(boot_command_line, "udbg-immortal")) { printk(KERN_INFO "early console immortal !\n"); - return; + udbg_console.flags &= ~CON_BOOT; } - unregister_console(&udbg_console); - early_console_initialized = 0; -} - -/* called by setup_system */ -void register_early_udbg_console(void) -{ - if (early_console_initialized) - return; early_console_initialized = 1; register_console(&udbg_console); }