Message ID | 1400857819-7975-4-git-send-email-daniel.thompson@linaro.org |
---|---|
State | New |
Headers | show |
On Friday 23 May 2014 16:10:17 Daniel Thompson wrote: > Only a small handful of platforms support DEBUG_LL_UART_NONE but it > lurks in the menus of every single platform config ready to break the > build. This is an especial problem for defconfigs since it is often > selected by default. > > This patch limit this choice only to platforms capable of supporting it. > > Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> > --- > arch/arm/Kconfig.debug | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > 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 UART ARCH_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. As an alternative to your patch, we could decide to move the remaining files as well. Arnd
On 26/05/14 14:39, Arnd Bergmann wrote: >>> 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 UART >> >> ARCH_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. This list doesn't seem to have changed in linux-next. >> 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? Daniel.
On Tuesday 27 May 2014 14:13:32 Daniel Thompson wrote: > On 26/05/14 14:39, Arnd Bergmann wrote: > >>> 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 UART > >> > >> ARCH_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. > > >> 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
On 27/05/14 14:37, Arnd Bergmann wrote: >> 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". Ok. Thanks. I'll refresh the patch shortly. Daniel.
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 UART
Only a small handful of platforms support DEBUG_LL_UART_NONE but it lurks in the menus of every single platform config ready to break the build. This is an especial problem for defconfigs since it is often selected by default. This patch limit this choice only to platforms capable of supporting it. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> --- arch/arm/Kconfig.debug | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)