diff options
Diffstat (limited to 'arch/powerpc/kernel/udbg_16550.c')
-rw-r--r-- | arch/powerpc/kernel/udbg_16550.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/udbg_16550.c b/arch/powerpc/kernel/udbg_16550.c index 7afab5bcd61a..833a3d0bcfa7 100644 --- a/arch/powerpc/kernel/udbg_16550.c +++ b/arch/powerpc/kernel/udbg_16550.c | |||
@@ -206,11 +206,22 @@ static void udbg_44x_as1_putc(char c) | |||
206 | } | 206 | } |
207 | } | 207 | } |
208 | 208 | ||
209 | static int udbg_44x_as1_getc(void) | ||
210 | { | ||
211 | if (udbg_comport) { | ||
212 | while ((as1_readb(&udbg_comport->lsr) & LSR_DR) == 0) | ||
213 | ; /* wait for char */ | ||
214 | return as1_readb(&udbg_comport->rbr); | ||
215 | } | ||
216 | return -1; | ||
217 | } | ||
218 | |||
209 | void __init udbg_init_44x_as1(void) | 219 | void __init udbg_init_44x_as1(void) |
210 | { | 220 | { |
211 | udbg_comport = | 221 | udbg_comport = |
212 | (volatile struct NS16550 __iomem *)PPC44x_EARLY_DEBUG_VIRTADDR; | 222 | (volatile struct NS16550 __iomem *)PPC44x_EARLY_DEBUG_VIRTADDR; |
213 | 223 | ||
214 | udbg_putc = udbg_44x_as1_putc; | 224 | udbg_putc = udbg_44x_as1_putc; |
225 | udbg_getc = udbg_44x_as1_getc; | ||
215 | } | 226 | } |
216 | #endif /* CONFIG_PPC_EARLY_DEBUG_44x */ | 227 | #endif /* CONFIG_PPC_EARLY_DEBUG_44x */ |