From 96a4ce30c27eb50bffa26a8ff2807cca74c707ac Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Tue, 5 Jul 2022 14:10:34 +0200 Subject: [PATCH] ARM: add ATAGS dependencies to non-DT platforms There are a total of eight platforms that only suppor ATAGS based boot with board files but no devicetree booting. For dove, the DT support is part of the mvebu platform, which shares driver but no code in arch/arm. Most of these will never get converted to DT, and the majority of the board files appear to be entirely unused already. There are still known users on a few machines, and there may be interest in converting some omap1, ep93xx or footbridge machines over in the future. For the moment, just add a Kconfig dependency to hide these platforms completely when CONFIG_ATAGS is disabled, and reorder the priority of the options: Rather than offering to turn ATAGS off for platforms that have DT support, make it a top-level setting that determines which platforms are visible. The s3c24xx platform supports one machine with DT support, but it cannot be built without also including ATAGS support, and the entire platform is scheduled for removal, so leaving the entire platform behind a dependency seems good enough. All defconfig files should keep working, as the option remains default enabled. Signed-off-by: Arnd Bergmann --- arch/arm/Kconfig | 5 ++++- arch/arm/mach-cns3xxx/Kconfig | 1 + arch/arm/mach-dove/Kconfig | 1 + arch/arm/mach-ep93xx/Kconfig | 1 + arch/arm/mach-iop32x/Kconfig | 1 + arch/arm/mach-mv78xx0/Kconfig | 1 + arch/arm/mach-omap1/Kconfig | 1 + arch/arm/mach-s3c/Kconfig.s3c24xx | 2 +- 8 files changed, 11 insertions(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 7630ba9cb6cc..4349525cd1e1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -350,6 +350,7 @@ config ARCH_MULTIPLATFORM config ARCH_FOOTBRIDGE bool "FootBridge" depends on CPU_LITTLE_ENDIAN + depends on ATAGS select CPU_SA110 select FOOTBRIDGE select NEED_MACH_MEMORY_H @@ -361,6 +362,7 @@ config ARCH_RPC bool "RiscPC" depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000 depends on CPU_LITTLE_ENDIAN + depends on ATAGS select ARCH_ACORN select ARCH_MAY_HAVE_PC_FDC select ARCH_SPARSEMEM_ENABLE @@ -380,6 +382,7 @@ config ARCH_RPC config ARCH_SA1100 bool "SA1100-based" depends on CPU_LITTLE_ENDIAN + depends on ATAGS select ARCH_MTD_XIP select ARCH_SPARSEMEM_ENABLE select CLKSRC_MMIO @@ -1539,7 +1542,7 @@ config USE_OF Include support for flattened device tree machine descriptions. config ATAGS - bool "Support for the traditional ATAGS boot data passing" if USE_OF + bool "Support for the traditional ATAGS boot data passing" default y help This is the traditional way of passing data to the kernel at boot diff --git a/arch/arm/mach-cns3xxx/Kconfig b/arch/arm/mach-cns3xxx/Kconfig index 1ecf5466931e..622f3cf28c68 100644 --- a/arch/arm/mach-cns3xxx/Kconfig +++ b/arch/arm/mach-cns3xxx/Kconfig @@ -2,6 +2,7 @@ menuconfig ARCH_CNS3XXX bool "Cavium Networks CNS3XXX family" depends on ARCH_MULTI_V6 + depends on ATAGS select ARM_GIC help Support for Cavium Networks CNS3XXX platform. diff --git a/arch/arm/mach-dove/Kconfig b/arch/arm/mach-dove/Kconfig index c30c69c664ea..b2bb2162e31c 100644 --- a/arch/arm/mach-dove/Kconfig +++ b/arch/arm/mach-dove/Kconfig @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 menuconfig ARCH_DOVE bool "Marvell Dove" if ARCH_MULTI_V7 + depends on ATAGS select CPU_PJ4 select GPIOLIB select MVEBU_MBUS diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig index 21f4cc2ba651..ecac8b487dae 100644 --- a/arch/arm/mach-ep93xx/Kconfig +++ b/arch/arm/mach-ep93xx/Kconfig @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only menuconfig ARCH_EP93XX bool "EP93xx-based" + depends on ATAGS depends on ARCH_MULTI_V4T depends on CPU_LITTLE_ENDIAN select ARCH_SPARSEMEM_ENABLE diff --git a/arch/arm/mach-iop32x/Kconfig b/arch/arm/mach-iop32x/Kconfig index 01f60a8e6404..142c6374543c 100644 --- a/arch/arm/mach-iop32x/Kconfig +++ b/arch/arm/mach-iop32x/Kconfig @@ -3,6 +3,7 @@ menuconfig ARCH_IOP32X bool "IOP32x-based platforms" depends on ARCH_MULTI_V5 depends on CPU_LITTLE_ENDIAN + depends on ATAGS select CPU_XSCALE select GPIO_IOP select GPIOLIB diff --git a/arch/arm/mach-mv78xx0/Kconfig b/arch/arm/mach-mv78xx0/Kconfig index f0276f0d1102..21624107296a 100644 --- a/arch/arm/mach-mv78xx0/Kconfig +++ b/arch/arm/mach-mv78xx0/Kconfig @@ -3,6 +3,7 @@ menuconfig ARCH_MV78XX0 bool "Marvell MV78xx0" depends on ARCH_MULTI_V5 depends on CPU_LITTLE_ENDIAN + depends on ATAGS select CPU_FEROCEON select GPIOLIB select MVEBU_MBUS diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig index 0ac0567f721d..cbeb2b3ba86e 100644 --- a/arch/arm/mach-omap1/Kconfig +++ b/arch/arm/mach-omap1/Kconfig @@ -3,6 +3,7 @@ menuconfig ARCH_OMAP1 bool "TI OMAP1" depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 depends on CPU_LITTLE_ENDIAN + depends on ATAGS select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_OMAP select CLKSRC_MMIO diff --git a/arch/arm/mach-s3c/Kconfig.s3c24xx b/arch/arm/mach-s3c/Kconfig.s3c24xx index 662c5aec2ea3..88a5a333312a 100644 --- a/arch/arm/mach-s3c/Kconfig.s3c24xx +++ b/arch/arm/mach-s3c/Kconfig.s3c24xx @@ -8,7 +8,7 @@ menuconfig ARCH_S3C24XX bool "Samsung S3C24XX SoCs (deprecated, see help)" depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 depends on CPU_LITTLE_ENDIAN - select ATAGS + depends on ATAGS select CLKSRC_SAMSUNG_PWM select GPIO_SAMSUNG select GPIOLIB