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 7630ba9..4349525 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 1ecf546..622f3cf 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 c30c69c..b2bb216 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 21f4cc2..ecac8b4 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 01f60a8..142c637 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 f0276f0..2162410 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 0ac0567..cbeb2b3 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 662c5ae..88a5a33 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