]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/platforms/pseries/lpar.c
[POWERPC] Register udbg console early on pseries LPAR
[linux-2.6-omap-h63xx.git] / arch / powerpc / platforms / pseries / lpar.c
index 233d9be25f49248958f93eb91d55a92c8d5ebde6..c34789fe535e3c2de7b4402bb3658f49718a3484 100644 (file)
@@ -40,6 +40,7 @@
 #include <asm/smp.h>
 
 #include "plpar_wrappers.h"
+#include "pseries.h"
 
 #ifdef DEBUG_LOW
 #define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0)
@@ -195,6 +196,8 @@ void __init udbg_init_debug_lpar(void)
        udbg_putc = udbg_putcLP;
        udbg_getc = udbg_getcLP;
        udbg_getc_poll = udbg_getc_pollLP;
+
+       register_early_udbg_console();
 }
 
 /* returns 0 if couldn't find or use /chosen/stdout as console */
@@ -203,7 +206,6 @@ void __init find_udbg_vterm(void)
        struct device_node *stdout_node;
        const u32 *termno;
        const char *name;
-       int add_console;
 
        /* find the boot console from /chosen/stdout */
        if (!of_chosen)
@@ -219,8 +221,6 @@ void __init find_udbg_vterm(void)
                printk(KERN_WARNING "stdout node missing 'name' property!\n");
                goto out;
        }
-       /* The user has requested a console so this is already set up. */
-       add_console = !strstr(cmd_line, "console=");
 
        /* Check if it's a virtual terminal */
        if (strncmp(name, "vty", 3) != 0)
@@ -234,15 +234,13 @@ void __init find_udbg_vterm(void)
                udbg_putc = udbg_putcLP;
                udbg_getc = udbg_getcLP;
                udbg_getc_poll = udbg_getc_pollLP;
-               if (add_console)
-                       add_preferred_console("hvc", termno[0] & 0xff, NULL);
+               add_preferred_console("hvc", termno[0] & 0xff, NULL);
        } else if (of_device_is_compatible(stdout_node, "hvterm-protocol")) {
                vtermno = termno[0];
                udbg_putc = udbg_hvsi_putc;
                udbg_getc = udbg_hvsi_getc;
                udbg_getc_poll = udbg_hvsi_getc_poll;
-               if (add_console)
-                       add_preferred_console("hvsi", termno[0] & 0xff, NULL);
+               add_preferred_console("hvsi", termno[0] & 0xff, NULL);
        }
 out:
        of_node_put(stdout_node);