ARM: add ATAGS dependencies to non-DT platforms
authorArnd Bergmann <arnd@arndb.de>
Tue, 5 Jul 2022 12:10:34 +0000 (14:10 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 22 Jul 2022 11:11:21 +0000 (13:11 +0200)
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 <arnd@arndb.de>
arch/arm/Kconfig
arch/arm/mach-cns3xxx/Kconfig
arch/arm/mach-dove/Kconfig
arch/arm/mach-ep93xx/Kconfig
arch/arm/mach-iop32x/Kconfig
arch/arm/mach-mv78xx0/Kconfig
arch/arm/mach-omap1/Kconfig
arch/arm/mach-s3c/Kconfig.s3c24xx

index 7630ba9cb6ccc30cd75672c57e0aa248f5a298c9..4349525cd1e12e497b9fe1f76709adfa18104d21 100644 (file)
@@ -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
index 1ecf5466931ebad683ce1b6ec78693a6a5cd8ab1..622f3cf28c688773ca55e2c933e6fdd77f5f60e1 100644 (file)
@@ -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.
index c30c69c664ea81d989dbadd3b59796d98f0c404d..b2bb2162e31c00b18e82ea0a22a32334627764fb 100644 (file)
@@ -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
index 21f4cc2ba651ebe5158b2933325626d25c96da2a..ecac8b487dae3ddc23bb84abb80fbc062e6e291d 100644 (file)
@@ -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
index 01f60a8e64041895df51cad0fa853d5ed640943d..142c6374543c12b387b83f62d0c936449916a368 100644 (file)
@@ -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
index f0276f0d11025db08bfd7b486f749830b339461b..21624107296a5d0c014af820a7b201f5bab5f890 100644 (file)
@@ -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
index 0ac0567f721d8a2fff3d80c094aaf3a048909dc9..cbeb2b3ba86eee46a2678c2be41f0efcab0b5ad5 100644 (file)
@@ -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
index 662c5aec2ea3ba0d9c3befced09d9f9fc51e0fd1..88a5a333312a9b902ae1d18b75b23536dd0fdf29 100644 (file)
@@ -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