[POWERPC] Use udbg_early_init() on ppc32
authorDavid Gibson <david@gibson.dropbear.id.au>
Tue, 13 Feb 2007 04:54:22 +0000 (15:54 +1100)
committerPaul Mackerras <paulus@samba.org>
Wed, 14 Feb 2007 00:55:16 +0000 (11:55 +1100)
udbg_early_init() is a function used on 64 bit systems, which
initializes whichever early udbg backend is configured.  This function
is not called on 32-bit, however if btext early debug is enabled it
does have an explicit, inline, #ifdef-ed assignment performing
analagous initialization.

This patch makes things more uniform by folding the btext
initialization as an option into udbg_early_init() and calling that
from the 32-bit setup path.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/btext.c
arch/powerpc/kernel/setup_32.c
arch/powerpc/kernel/udbg.c
include/asm-powerpc/udbg.h

index 93f21aaf7c8ef163a08483cc5f6d06c31d571c80..3678997339d6270cfcf5065979965ab4bf15fefa 100644 (file)
@@ -18,6 +18,7 @@
 #include <asm/io.h>
 #include <asm/lmb.h>
 #include <asm/processor.h>
+#include <asm/udbg.h>
 
 #define NO_SCROLL
 
@@ -912,3 +913,11 @@ static unsigned char vga_font[cmapsz] = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00,
 };
+
+void __init udbg_init_btext(void)
+{
+       /* If btext is enabled, we might have a BAT setup for early display,
+        * thus we do enable some very basic udbg output
+        */
+       udbg_putc = btext_drawchar;
+}
index 6a19fa40dceea957e41c6558c55880aecb33ea4b..44a6a3c47feb5a4f666be6ba4a0c402ffbe74526 100644 (file)
@@ -116,12 +116,8 @@ unsigned long __init early_init(unsigned long dt_ptr)
  */
 void __init machine_init(unsigned long dt_ptr, unsigned long phys)
 {
-       /* If btext is enabled, we might have a BAT setup for early display,
-        * thus we do enable some very basic udbg output
-        */
-#ifdef CONFIG_BOOTX_TEXT
-       udbg_putc = btext_drawchar;
-#endif
+       /* Enable early debugging if any specified (see udbg.h) */
+       udbg_early_init();
 
        /* Do some early initialization based on the flat device tree */
        early_init_devtree(__va(dt_ptr));
index 194a93eeb3e7c2c402e54275db7074704930a27c..7e0971868fc25ec77377feb5ac7c34e195a1fd8f 100644 (file)
@@ -49,6 +49,8 @@ void __init udbg_early_init(void)
        udbg_init_debug_beat();
 #elif defined(CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE)
        udbg_init_pas_realmode();
+#elif defined(CONFIG_BOOTX_TEXT)
+       udbg_init_btext();
 #endif
 }
 
index 4cbc313aa02a10dedf3d0ae0503504bba8b37860..d03d8557f7069891cc06289024c15cb3bc09178d 100644 (file)
@@ -46,6 +46,7 @@ extern void __init udbg_init_iseries(void);
 extern void __init udbg_init_rtas_panel(void);
 extern void __init udbg_init_rtas_console(void);
 extern void __init udbg_init_debug_beat(void);
+extern void __init udbg_init_btext(void);
 
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_UDBG_H */