Add one definition to kernel/trace/Kconfig and let the architectures
select if it supported.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 arch/arc/Kconfig        | 6 ++----
 arch/arm/Kconfig        | 5 +----
 arch/arm64/Kconfig      | 4 +---
 arch/hexagon/Kconfig    | 5 +----
 arch/ia64/Kconfig       | 4 +---
 arch/microblaze/Kconfig | 4 +---
 arch/mips/Kconfig       | 5 +----
 arch/nds32/Kconfig      | 4 +---
 arch/openrisc/Kconfig   | 4 +---
 arch/parisc/Kconfig     | 4 +---
 arch/powerpc/Kconfig    | 5 +----
 arch/riscv/Kconfig      | 4 +---
 arch/s390/Kconfig       | 4 +---
 arch/sh/Kconfig         | 4 +---
 arch/sparc/Kconfig      | 5 +----
 arch/um/Kconfig         | 7 ++-----
 arch/unicore32/Kconfig  | 4 +---
 arch/x86/Kconfig        | 4 +---
 arch/xtensa/Kconfig     | 4 +---
 kernel/trace/Kconfig    | 3 +++
 20 files changed, 24 insertions(+), 65 deletions(-)

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index c0dd229af534..e8e3776fc5fa 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -47,6 +47,8 @@ config ARC
        select OF_RESERVED_MEM
        select PCI_SYSCALL if PCI
        select PERF_USE_VMALLOC if ARC_CACHE_VIPT_ALIASING
+       select STACKTRACE_SUPPORT
+       select STACKTRACE
 
 config ARCH_HAS_CACHE_LINE_SIZE
        def_bool y
@@ -81,10 +83,6 @@ config GENERIC_CALIBRATE_DELAY
 config GENERIC_HWEIGHT
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-       select STACKTRACE
-
 config HAVE_ARCH_TRANSPARENT_HUGEPAGE
        def_bool y
        depends on ARC_MMU_V4
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1ed4c0560b50..68a891f3ffa0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -109,6 +109,7 @@ config ARM
        select REFCOUNT_FULL
        select RTC_LIB
        select RWSEM_XCHGADD_ALGORITHM
+       select STACKTRACE_SUPPORT
        select SYS_SUPPORTS_APM_EMULATION
        # Above selects are sorted alphabetically; please add new ones
        # according to that.  Thanks.
@@ -165,10 +166,6 @@ config NO_IOPORT_MAP
 config SBUS
        bool
 
-config STACKTRACE_SUPPORT
-       bool
-       default y
-
 config LOCKDEP_SUPPORT
        bool
        default y
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 2f8da4e18a1e..a6a0bb868369 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -172,6 +172,7 @@ config ARM64
        select REFCOUNT_FULL
        select RWSEM_XCHGADD_ALGORITHM
        select SPARSE_IRQ
+       select STACKTRACE_SUPPORT
        select SWIOTLB
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
@@ -226,9 +227,6 @@ config ARCH_MMAP_RND_COMPAT_BITS_MAX
 config NO_IOPORT_MAP
        def_bool y if !PCI
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config ILLEGAL_POINTER_VALUE
        hex
        default 0xdead000000000000
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index 49f364ea18d4..615693b62ea0 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -26,6 +26,7 @@ config HEXAGON
        select NO_IOPORT_MAP
        select GENERIC_IOMAP
        select GENERIC_SMP_IDLE_THREAD
+       select STACKTRACE
        select STACKTRACE_SUPPORT
        select GENERIC_CLOCKEVENTS
        select GENERIC_CLOCKEVENTS_BROADCAST
@@ -68,10 +69,6 @@ config GENERIC_IRQ_PROBE
 config GENERIC_HWEIGHT
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-       select STACKTRACE
-
 config GENERIC_BUG
        def_bool y
        depends on BUG
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 99a629f05de4..8c14b669d194 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -54,6 +54,7 @@ config IA64
        select NEED_DMA_MAP_STATE
        select NEED_SG_DMA_LENGTH
        select RWSEM_XCHGADD_ALGORITHM
+       select STACKTRACE_SUPPORT
        default y
        help
          The Itanium Processor Family is Intel's 64-bit successor to
@@ -78,9 +79,6 @@ config MMU
        bool
        default y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config GENERIC_LOCKBREAK
        def_bool n
 
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index d459c70d9a66..ecccf8651caa 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -37,6 +37,7 @@ config MICROBLAZE
        select OF_EARLY_FLATTREE
        select PCI_DOMAINS_GENERIC if PCI
        select PCI_SYSCALL if PCI
+       select STACKTRACE_SUPPORT
        select TRACING_SUPPORT
        select VIRT_TO_BUS
        select CPU_NO_EFFICIENT_FFS
@@ -75,9 +76,6 @@ config GENERIC_CALIBRATE_DELAY
 config GENERIC_CSUM
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config LOCKDEP_SUPPORT
        def_bool y
 
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 6ad1882a8db9..0645e7b96493 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -80,6 +80,7 @@ config MIPS
        select MODULES_USE_ELF_REL if MODULES
        select PERF_USE_VMALLOC
        select RTC_LIB
+       select STACKTRACE_SUPPORT
        select SYSCTL_EXCEPTION_TRACE
        select VIRT_TO_BUS
 
@@ -3053,10 +3054,6 @@ config LOCKDEP_SUPPORT
        bool
        default y
 
-config STACKTRACE_SUPPORT
-       bool
-       default y
-
 config HAVE_LATENCYTOP_SUPPORT
        bool
        default y
diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
index 6a3c53d05dcd..65a506fe25a9 100644
--- a/arch/nds32/Kconfig
+++ b/arch/nds32/Kconfig
@@ -38,6 +38,7 @@ config NDS32
        select OF_EARLY_FLATTREE
        select NO_IOPORT_MAP
        select RTC_LIB
+       select STACKTRACE_SUPPORT
        select THREAD_INFO_IN_TASK
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
@@ -62,9 +63,6 @@ config GENERIC_LOCKBREAK
 config TRACE_IRQFLAGS_SUPPORT
        def_bool y
 
-config STACKTRACE_SUPPORT
-        def_bool y
-
 config FIX_EARLYCON_MEM
        def_bool y
 
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index 9f51da5e4f57..addbe1d0dee6 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -35,6 +35,7 @@ config OPENRISC
        select OMPIC if SMP
        select ARCH_WANT_FRAME_POINTERS
        select GENERIC_IRQ_MULTI_HANDLER
+       select STACKTRACE_SUPPORT
 
 config CPU_BIG_ENDIAN
        def_bool y
@@ -56,9 +57,6 @@ config TRACE_IRQFLAGS_SUPPORT
 config GENERIC_CSUM
         def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config LOCKDEP_SUPPORT
        def_bool  y
 
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 8efbeeafb68e..9288ff6af559 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -53,6 +53,7 @@ config PARISC
        select CPU_NO_EFFICIENT_FFS
        select NEED_DMA_MAP_STATE
        select NEED_SG_DMA_LENGTH
+       select STACKTRACE_SUPPORT
 
        help
          The PA-RISC microprocessor is designed by Hewlett-Packard and used
@@ -104,9 +105,6 @@ config TIME_LOW_RES
 config PM
        bool
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config ISA_DMA_API
        bool
 
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 2c3ccffbb2ec..45d0d69237b1 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -91,10 +91,6 @@ config PPC_WATCHDOG
          seleted via the generic lockup detector menu which is why we
          have no standalone config option for it here.
 
-config STACKTRACE_SUPPORT
-       bool
-       default y
-
 config TRACE_IRQFLAGS_SUPPORT
        bool
        default y
@@ -234,6 +230,7 @@ config PPC
        select RTC_LIB
        select RWSEM_XCHGADD_ALGORITHM
        select SPARSE_IRQ
+       select STACKTRACE_SUPPORT
        select SYSCTL_EXCEPTION_TRACE
        select VIRT_TO_BUS                      if !PPC64
        #
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index fa251310c48c..f0e87594fc9b 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -47,6 +47,7 @@ config RISCV
        select PCI_DOMAINS_GENERIC if PCI
        select PCI_MSI if PCI
        select RISCV_TIMER
+       select STACKTRACE_SUPPORT
        select GENERIC_IRQ_MULTI_HANDLER
        select ARCH_HAS_PTE_SPECIAL
 
@@ -63,9 +64,6 @@ config PAGE_OFFSET
        default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
        default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config TRACE_IRQFLAGS_SUPPORT
        def_bool y
 
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 7f547d4d835f..fde5d60aab7e 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -11,9 +11,6 @@ config CPU_BIG_ENDIAN
 config LOCKDEP_SUPPORT
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config ARCH_HAS_ILOG2_U32
        def_bool n
 
@@ -177,6 +174,7 @@ config S390
        select PCI_MSI                  if PCI
        select RWSEM_XCHGADD_ALGORITHM
        select SPARSE_IRQ
+       select STACKTRACE_SUPPORT
        select SYSCTL_EXCEPTION_TRACE
        select THREAD_INFO_IN_TASK
        select TTY
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 4f8c7472079b..e77d3befa52a 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -49,6 +49,7 @@ config SUPERH
        select OLD_SIGSUSPEND
        select OLD_SIGACTION
        select PCI_DOMAINS if PCI
+       select STACKTRACE_SUPPORT
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_FUTEX_CMPXCHG if FUTEX
        select HAVE_NMI
@@ -126,9 +127,6 @@ config SYS_SUPPORTS_SMP
 config SYS_SUPPORTS_NUMA
        bool
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config LOCKDEP_SUPPORT
        def_bool y
 
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 60c90e59eb3c..85c4447fce00 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -91,6 +91,7 @@ config SPARC64
        select ARCH_HAS_PTE_SPECIAL
        select PCI_DOMAINS if PCI
        select RWSEM_XCHGADD_ALGORITHM
+       select STACKTRACE_SUPPORT
 
 config ARCH_DEFCONFIG
        string
@@ -107,10 +108,6 @@ config ARCH_ATU
        bool
        default y if SPARC64
 
-config STACKTRACE_SUPPORT
-       bool
-       default y if SPARC64
-
 config LOCKDEP_SUPPORT
        bool
        default y if SPARC64
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index ec9711d068b7..a88ad4c0c3b4 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -17,6 +17,8 @@ config UML
        select GENERIC_CPU_DEVICES
        select GENERIC_CLOCKEVENTS
        select HAVE_GCC_PLUGINS
+       select STACKTRACE
+       select STACKTRACE_SUPPORT
        select TTY # Needed for line.c
 
 config MMU
@@ -40,11 +42,6 @@ config LOCKDEP_SUPPORT
        bool
        default y
 
-config STACKTRACE_SUPPORT
-       bool
-       default y
-       select STACKTRACE
-
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index e080087f0762..d7dccc247301 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -20,6 +20,7 @@ config UNICORE32
        select GENERIC_IOMAP
        select MODULES_USE_ELF_REL
        select NEED_DMA_MAP_STATE
+       select STACKTRACE_SUPPORT
        help
          UniCore-32 is 32-bit Instruction Set Architecture,
          including a series of low-power-consumption RISC chip
@@ -32,9 +33,6 @@ config GENERIC_CSUM
 config NO_IOPORT_MAP
        bool
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config LOCKDEP_SUPPORT
        def_bool y
 
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3c98f3f78631..c5f92cfd5d85 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -206,6 +206,7 @@ config X86
        select SPARSE_IRQ
        select SRCU
        select SYSCTL_EXCEPTION_TRACE
+       select STACKTRACE_SUPPORT
        select THREAD_INFO_IN_TASK
        select USER_STACKTRACE_SUPPORT
        select VIRT_TO_BUS
@@ -228,9 +229,6 @@ config ARCH_DEFCONFIG
 config LOCKDEP_SUPPORT
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config MMU
        def_bool y
 
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index ddd3b02191a6..51cdd270a44d 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -35,6 +35,7 @@ config XTENSA
        select MODULES_USE_ELF_RELA
        select PERF_USE_VMALLOC
        select RWSEM_XCHGADD_ALGORITHM
+       select STACKTRACE_SUPPORT
        select VIRT_TO_BUS
        help
          Xtensa processors are 32-bit RISC machines designed by Tensilica
@@ -63,9 +64,6 @@ config HZ
 config LOCKDEP_SUPPORT
        def_bool y
 
-config STACKTRACE_SUPPORT
-       def_bool y
-
 config TRACE_IRQFLAGS_SUPPORT
        def_bool y
 
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index fa8b1fe824f3..80291d016e21 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -3,6 +3,9 @@
 #  select HAVE_FUNCTION_TRACER:
 #
 
+config STACKTRACE_SUPPORT
+       bool
+
 config USER_STACKTRACE_SUPPORT
        bool
 
-- 
2.20.1

Reply via email to