diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-02-12 23:54:22 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-13 19:55:16 -0500 |
commit | 719c91ccadd3ed26570dbb29d54166914832eee9 (patch) | |
tree | ee11ec26fbbb096d034468379241e872cbd63548 | |
parent | 8d38a5b2fab1397d35ba1c92828a91b77ce9f865 (diff) |
[POWERPC] Use udbg_early_init() on ppc32
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>
-rw-r--r-- | arch/powerpc/kernel/btext.c | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_32.c | 8 | ||||
-rw-r--r-- | arch/powerpc/kernel/udbg.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/udbg.h | 1 |
4 files changed, 14 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c index 93f21aaf7c8e..3678997339d6 100644 --- a/arch/powerpc/kernel/btext.c +++ b/arch/powerpc/kernel/btext.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/io.h> | 18 | #include <asm/io.h> |
19 | #include <asm/lmb.h> | 19 | #include <asm/lmb.h> |
20 | #include <asm/processor.h> | 20 | #include <asm/processor.h> |
21 | #include <asm/udbg.h> | ||
21 | 22 | ||
22 | #define NO_SCROLL | 23 | #define NO_SCROLL |
23 | 24 | ||
@@ -912,3 +913,11 @@ static unsigned char vga_font[cmapsz] = { | |||
912 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 913 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
913 | 0x00, 0x00, 0x00, 0x00, | 914 | 0x00, 0x00, 0x00, 0x00, |
914 | }; | 915 | }; |
916 | |||
917 | void __init udbg_init_btext(void) | ||
918 | { | ||
919 | /* If btext is enabled, we might have a BAT setup for early display, | ||
920 | * thus we do enable some very basic udbg output | ||
921 | */ | ||
922 | udbg_putc = btext_drawchar; | ||
923 | } | ||
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index 6a19fa40dcee..44a6a3c47feb 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
@@ -116,12 +116,8 @@ unsigned long __init early_init(unsigned long dt_ptr) | |||
116 | */ | 116 | */ |
117 | void __init machine_init(unsigned long dt_ptr, unsigned long phys) | 117 | void __init machine_init(unsigned long dt_ptr, unsigned long phys) |
118 | { | 118 | { |
119 | /* If btext is enabled, we might have a BAT setup for early display, | 119 | /* Enable early debugging if any specified (see udbg.h) */ |
120 | * thus we do enable some very basic udbg output | 120 | udbg_early_init(); |
121 | */ | ||
122 | #ifdef CONFIG_BOOTX_TEXT | ||
123 | udbg_putc = btext_drawchar; | ||
124 | #endif | ||
125 | 121 | ||
126 | /* Do some early initialization based on the flat device tree */ | 122 | /* Do some early initialization based on the flat device tree */ |
127 | early_init_devtree(__va(dt_ptr)); | 123 | early_init_devtree(__va(dt_ptr)); |
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index 194a93eeb3e7..7e0971868fc2 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c | |||
@@ -49,6 +49,8 @@ void __init udbg_early_init(void) | |||
49 | udbg_init_debug_beat(); | 49 | udbg_init_debug_beat(); |
50 | #elif defined(CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE) | 50 | #elif defined(CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE) |
51 | udbg_init_pas_realmode(); | 51 | udbg_init_pas_realmode(); |
52 | #elif defined(CONFIG_BOOTX_TEXT) | ||
53 | udbg_init_btext(); | ||
52 | #endif | 54 | #endif |
53 | } | 55 | } |
54 | 56 | ||
diff --git a/include/asm-powerpc/udbg.h b/include/asm-powerpc/udbg.h index 4cbc313aa02a..d03d8557f706 100644 --- a/include/asm-powerpc/udbg.h +++ b/include/asm-powerpc/udbg.h | |||
@@ -46,6 +46,7 @@ extern void __init udbg_init_iseries(void); | |||
46 | extern void __init udbg_init_rtas_panel(void); | 46 | extern void __init udbg_init_rtas_panel(void); |
47 | extern void __init udbg_init_rtas_console(void); | 47 | extern void __init udbg_init_rtas_console(void); |
48 | extern void __init udbg_init_debug_beat(void); | 48 | extern void __init udbg_init_debug_beat(void); |
49 | extern void __init udbg_init_btext(void); | ||
49 | 50 | ||
50 | #endif /* __KERNEL__ */ | 51 | #endif /* __KERNEL__ */ |
51 | #endif /* _ASM_POWERPC_UDBG_H */ | 52 | #endif /* _ASM_POWERPC_UDBG_H */ |