From: Nye Liu <[email protected]>
udbg_putc is a *function pointer* that is initialized during
udbg_init_cpm. It might not be initialized properly when called from
udbg_putc_cpm(), so (recursively) call udbg_putc_cpm() directly.
Printing an "X" on initialization is ugly. How about a "\n" instead?
Signed-off-by: Nye Liu <[email protected]>
---
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c
index cb7df2d..dcde743 100644
--- a/arch/powerpc/sysdev/cpm_common.c
+++ b/arch/powerpc/sysdev/cpm_common.c
@@ -37,7 +37,7 @@ static void udbg_putc_cpm(char c)
u8 __iomem *txbuf = (u8 __iomem __force *)in_be32(&cpm_udbg_txdesc[1]);
if (c == '\n')
- udbg_putc('\r');
+ udbg_putc_cpm('\r');
while (in_be32(&cpm_udbg_txdesc[0]) & 0x80000000)
;
@@ -53,7 +53,7 @@ void __init udbg_init_cpm(void)
setbat(1, 0xf0000000, 0xf0000000, 1024*1024, _PAGE_IO);
#endif
udbg_putc = udbg_putc_cpm;
- udbg_putc('X');
+ udbg_putc('\n');
}
}
#endif
--
Nye Liu
[email protected]
(818) 772-6235x248
(818) 772-0576 fax
"Who would be stupid enough to quote a fictitious character?"
-- Don Quixote
Nye Liu wrote:
> udbg_putc is a *function pointer* that is initialized during
> udbg_init_cpm. It might not be initialized properly when called from
> udbg_putc_cpm(), so (recursively) call udbg_putc_cpm() directly.
ACK
> Printing an "X" on initialization is ugly. How about a "\n" instead?
D'oh, that was a debugging leftover that I missed when cleaning things
up. Just remove it.
-Scott
On Jun 27, 2008, at 3:01 PM, Nye Liu wrote:
> From: Nye Liu <[email protected]>
>
> udbg_putc is a *function pointer* that is initialized during
> udbg_init_cpm. It might not be initialized properly when called from
> udbg_putc_cpm(), so (recursively) call udbg_putc_cpm() directly.
>
> Printing an "X" on initialization is ugly. How about a "\n" instead?
>
> Signed-off-by: Nye Liu <[email protected]>
>
> ---
Applied. I removed the "\n" per Scott's feedback.
- k