We have a number of Kconfig symbols that are exclusively selected from
architecture Kconfig files, but are defined all over.

Move the definition of these symbols into arch/Kconfig, where they
are supposed to be.

Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de>
---
v1 -> v2:
  - no change
---
 arch/Kconfig            | 42 +++++++++++++++++++++++++++++++++++++++++
 common/Kconfig          | 21 ---------------------
 common/Kconfig.debug_ll |  3 ---
 lib/Kconfig             | 12 ------------
 lib/Kconfig.ubsan       |  2 --
 lib/kasan/Kconfig       |  3 ---
 6 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 21175b90a076..b1200184678f 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -62,5 +62,47 @@ config ARCH_DMA_DEFAULT_COHERENT
 config ARCH_HAS_ASAN_FIBER_API
        bool
 
+config ARCH_HAS_STACK_DUMP
+       bool
+
+config ARCH_HAS_DATA_ABORT_MASK
+       bool
+
+config ARCH_HAS_ZERO_PAGE
+       bool
+
+config HAVE_EFFICIENT_UNALIGNED_ACCESS
+       bool
+
 config HAVE_ARCH_BOARD_GENERIC_DT
        bool
+
+config HAVE_MOD_ARCH_SPECIFIC
+       bool
+       help
+         The arch uses struct mod_arch_specific to store data.  Many arches
+         just need a simple module loader without arch specific data - those
+         should not enable this.
+
+config ARCH_HAS_SJLJ
+       bool
+       help
+         Architecture has support implemented for setjmp()/longjmp()/initjmp()
+
+config ARCH_DMA_ADDR_T_64BIT
+       bool
+
+config ARCH_USE_SYM_ANNOTATIONS
+       bool
+       help
+         This is selected by architectures that exclusively use the new SYM_
+         macros in their assembly code and not the deprecated ENTRY/PROC.
+
+config HAS_DEBUG_LL
+       bool
+
+config HAVE_ARCH_KASAN
+       bool
+
+config ARCH_HAS_UBSAN_SANITIZE_ALL
+       bool
diff --git a/common/Kconfig b/common/Kconfig
index 6e5fba33ea4a..de66f0461cf1 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -35,11 +35,6 @@ config HAS_DMA
          Drivers that depend on a DMA implementation can depend on this
          config, so that you don't get a compilation error.
 
-config ARCH_HAS_SJLJ
-       bool
-       help
-         Architecture has support implemented for setjmp()/longjmp()/initjmp()
-
 config GENERIC_GPIO
        bool
 
@@ -84,9 +79,6 @@ config MENUTREE
        select GLOB
        select GLOB_SORT
 
-config ARCH_DMA_ADDR_T_64BIT
-       bool
-
 config BAREBOX_UPDATE_IMX_NAND_FCB
        bool
        depends on ARCH_IMX7 || ARCH_IMX6 || ARCH_IMX28
@@ -359,13 +351,6 @@ config MODULES
          As modules can't be signed, loading external modules is not
          recommended for secure systems.
 
-config HAVE_MOD_ARCH_SPECIFIC
-       bool
-       help
-         The arch uses struct mod_arch_specific to store data.  Many arches
-         just need a simple module loader without arch specific data - those
-         should not enable this.
-
 config KALLSYMS
        depends on HAS_KALLSYMS
        bool "kallsyms"
@@ -1359,9 +1344,3 @@ source "common/boards/Kconfig"
 config DDR_SPD
        bool
        select CRC_ITU_T
-
-config ARCH_USE_SYM_ANNOTATIONS
-       bool
-       help
-         This is selected by architectures that exclusively use the new SYM_
-         macros in their assembly code and not the deprecated ENTRY/PROC.
diff --git a/common/Kconfig.debug_ll b/common/Kconfig.debug_ll
index 1f9255b1a45b..8c49f5b72882 100644
--- a/common/Kconfig.debug_ll
+++ b/common/Kconfig.debug_ll
@@ -1,8 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-config HAS_DEBUG_LL
-       bool
-
 config DEBUG_LL
        bool
        depends on HAS_DEBUG_LL
diff --git a/lib/Kconfig b/lib/Kconfig
index 40c7b2cb5d65..8e1d8086fbb6 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -213,18 +213,6 @@ config BLOBGEN
        select BASE64
        bool "include blob encode/decode support"
 
-config ARCH_HAS_STACK_DUMP
-       bool
-
-config ARCH_HAS_DATA_ABORT_MASK
-       bool
-
-config ARCH_HAS_ZERO_PAGE
-       bool
-
-config HAVE_EFFICIENT_UNALIGNED_ACCESS
-       bool
-
 config GENERIC_ALLOCATOR
        bool
        help
diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index c04ff3cbb6fd..063563536be1 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -1,6 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-config ARCH_HAS_UBSAN_SANITIZE_ALL
-       bool
 
 config UBSAN
        bool "Undefined behaviour sanity checker"
diff --git a/lib/kasan/Kconfig b/lib/kasan/Kconfig
index 895a62d88439..532412953ba5 100644
--- a/lib/kasan/Kconfig
+++ b/lib/kasan/Kconfig
@@ -1,8 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-config HAVE_ARCH_KASAN
-       bool
-
 config CC_HAS_KASAN_GENERIC
        def_bool $(cc-option, -fsanitize=kernel-address)
 
-- 
2.39.5


Reply via email to