diff options
author | Tushar Behera <tushar.behera@linaro.org> | 2013-05-29 16:46:33 +0530 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2013-06-03 11:41:52 +0530 |
commit | 9618a9ec8289f563e3cbd575d862eacfc78cb94b (patch) | |
tree | e5a2e2872a8f52a38f65ec98d0492079c86e75bd | |
parent | 8ff86170a22906719bafc481086b38e5f61f39ba (diff) |
ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined
Low-level debug messages make an assumption that the specified UART
port has been preconfigured by the bootloader. When this UART port
number is not correctly specified (e.g. different boards in the same
platform using different UART ports), the booting gets stalled while
printing the message "Uncompressing Linux... done, booting the kernel"
This print subroutine should be called only when DEBUG_LL is defined.
Doing so and disabling DEBUG_LL in default config file, we would be
able to boot multiple boards with different default UART ports.
With this current approach, we miss the print "Uncompressing Linux...
done, booting the kernel." when DEBUG_LL is not defined.
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
-rw-r--r-- | arch/arm/plat-samsung/include/plat/uncompress.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/plat-samsung/include/plat/uncompress.h b/arch/arm/plat-samsung/include/plat/uncompress.h index 438b24846e7..02b66d723d1 100644 --- a/arch/arm/plat-samsung/include/plat/uncompress.h +++ b/arch/arm/plat-samsung/include/plat/uncompress.h @@ -66,6 +66,9 @@ uart_rd(unsigned int reg) static void putc(int ch) { + if (!config_enabled(CONFIG_DEBUG_LL)) + return; + if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) { int level; @@ -118,7 +121,12 @@ static void arch_decomp_error(const char *x) #ifdef CONFIG_S3C_BOOT_UART_FORCE_FIFO static inline void arch_enable_uart_fifo(void) { - u32 fifocon = uart_rd(S3C2410_UFCON); + u32 fifocon; + + if (!config_enabled(CONFIG_DEBUG_LL)) + return; + + fifocon = uart_rd(S3C2410_UFCON); if (!(fifocon & S3C2410_UFCON_FIFOMODE)) { fifocon |= S3C2410_UFCON_RESETBOTH; |