Skip to content

Commit

Permalink
ARM: 7072/1: debug: use kconfig choice for selecting DEBUG_LL UART
Browse files Browse the repository at this point in the history
Enabling CONFIG_DEBUG_LL (which is required for earlyprintk) hardwires
the debug UART address into the kernel, so that we can print before the
platform is initialised.

If the user inadvertently selects multiple platforms with DEBUG_LL
enabled, the UART address may not be correct and will likely cause the
kernel to hang in the very early stages of boot.

This patch, based on a skeleton from Russell, uses a Kconfig choice for
selecting the DEBUG_LL UART, therefore allowing the user to make a
choice about the supported platform when DEBUG_LL is enabled.

Acked-by: Nicolas Pitre <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Russell King <[email protected]>
  • Loading branch information
wildea01 authored and Russell King committed Oct 17, 2011
1 parent d0a7745 commit 17916b2
Showing 1 changed file with 24 additions and 17 deletions.
41 changes: 24 additions & 17 deletions arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,30 @@ config DEBUG_LL
in the kernel. This is helpful if you are debugging code that
executes before the console is initialized.

choice
prompt "Kernel low-level debugging port"
depends on DEBUG_LL

config DEBUG_DC21285_PORT
bool "Kernel low-level debugging messages via footbridge serial port"
depends on FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct
their output to the serial port in the DC21285 (Footbridge).
Saying N will cause the debug messages to appear on the first
16550 serial port.

config DEBUG_CLPS711X_UART2
bool "Kernel low-level debugging messages via UART2"
depends on ARCH_CLPS711X
help
Say Y here if you want the debug print routines to direct
their output to the second serial port on these devices.
Saying N will cause the debug messages to appear on the first
serial port.

endchoice

config EARLY_PRINTK
bool "Early printk"
depends on DEBUG_LL
Expand Down Expand Up @@ -100,23 +124,6 @@ config OC_ETM
buffer driver that will allow you to collect traces of the
kernel code.

config DEBUG_DC21285_PORT
bool "Kernel low-level debugging messages via footbridge serial port"
depends on DEBUG_LL && FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct their
output to the serial port in the DC21285 (Footbridge). Saying N
will cause the debug messages to appear on the first 16550
serial port.

config DEBUG_CLPS711X_UART2
bool "Kernel low-level debugging messages via UART2"
depends on DEBUG_LL && ARCH_CLPS711X
help
Say Y here if you want the debug print routines to direct their
output to the second serial port on these devices. Saying N will
cause the debug messages to appear on the first serial port.

config DEBUG_S3C_UART
depends on PLAT_SAMSUNG
int "S3C UART to use for low-level debug"
Expand Down

0 comments on commit 17916b2

Please sign in to comment.