[RESEND PATCH v5 3/5] ARM: Conceal DEBUG_LL_UART_NONE from unsupported platforms
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-05-27 13:37:29
Also in:
lkml
On Tuesday 27 May 2014 14:13:32 Daniel Thompson wrote:
On 26/05/14 14:39, Arnd Bergmann wrote:quoted
quoted
quoted
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index eab8ecb..4c8d7db 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug@@ -842,7 +842,18 @@ choice config DEBUG_LL_UART_NONE bool "No low-level debugging UART" - depends on !ARCH_MULTIPLATFORM + depends on ARCH_AT91 || \ + ARCH_CLPS711X || \ + ARCH_FOOTBRIDGE || \ + ARCH_KS8695 || \ + ARCH_NETX || \ + ARCH_OMAP1 || \ + ARCH_SA1100 || \ + ARCH_S3C24XX || \ + ARCH_S3C64XX || \ + ARCH_S5P64X0 || \ + ARCH_S5PC100 || \ + ARCH_S5PV210 help Say Y here if your platform doesn't provide a UART option above. This relies on your platform choosing the right UARTARCH_S3C24XX has been moved over in linux-next to use debug/s3c24xx.S. A few others will likely move soon (AT91, CLPS711x, S5PV210), as the platforms get moved to ARCH_MULTIPLATFORM.The list in my patch came from: sundance$ find arch/arm -name "debug-macro.S" arch/arm/mach-at91/include/mach/debug-macro.S arch/arm/mach-clps711x/include/mach/debug-macro.S arch/arm/mach-footbridge/include/mach/debug-macro.S arch/arm/mach-ks8695/include/mach/debug-macro.S arch/arm/mach-netx/include/mach/debug-macro.S arch/arm/mach-omap1/include/mach/debug-macro.S arch/arm/mach-s3c64xx/include/mach/debug-macro.S arch/arm/mach-s5p64x0/include/mach/debug-macro.S arch/arm/mach-s5pc100/include/mach/debug-macro.S arch/arm/mach-s5pv210/include/mach/debug-macro.S arch/arm/mach-sa1100/include/mach/debug-macro.S In other words this patch lists of all platforms where DEBUG_LL_UART_NONE should not result in failure to compile the kernel.
I see the same list, this is only half the story though.
This list doesn't seem to have changed in linux-next.quoted
quoted
As an alternative to your patch, we could decide to move the remaining files as well.Follow-up: I also noticed that AT91, CLPS711X, FOOTBRIDGE and all the SAMSUNG platforms already have an entry in the list, so DEBUG_LL_UART_NONE is redundant for them. The below change should be enough. For AT91 this is actually better because the old AT91X40 support doesn't have working DEBUG_LL support. This gets handled correctly by AT91_DEBUG_LL_DBGU0/AT91_DEBUG_LL_DBGU1, but not DEBUG_LL_UART_NONE.I'm very happy to update my patch to follow this one. However since it will render the corresponding debug-macro.S unreachable by KBuild I like to nuke the file as well. Good idea?
No. See the description under config DEBUG_LL_UART_NONE:
Say Y here if your platform doesn't provide a UART option
above. This relies on your platform choosing the right UART
definition internally in order for low-level debugging to
work.
The platforms I listed do have "a UART option above", e.g.
config AT91_DEBUG_LL_DBGU0
bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
depends on HAVE_AT91_DBGU0
Most of the platforms that have an option like this put the file into
include/debug, as is required for ARCH_MULTIPLATFORM. The ones that are
not converted to ARCH_MULTIPLATFORM can have it in either place, see
config DEBUG_LL_INCLUDE
string
default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
...
default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
default "mach/debug-macro.S"
Anything that is not explicitly listed under DEBUG_LL_INCLUDE will default
to "mach/debug-macro.S", and the list does not (have to) match the choice
statements in "Kernel low-level debugging port".
Arnd