]> git.dujemihanovic.xyz Git - linux.git/commitdiff
watchdog/hardlockup: define HARDLOCKUP_DETECTOR_ARCH
authorPetr Mladek <pmladek@suse.com>
Fri, 16 Jun 2023 15:06:18 +0000 (17:06 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 19 Jun 2023 23:25:29 +0000 (16:25 -0700)
The HAVE_ prefix means that the code could be enabled. Add another
variable for HAVE_HARDLOCKUP_DETECTOR_ARCH without this prefix.
It will be set when it should be built. It will make it compatible
with the other hardlockup detectors.

The change allows to clean up dependencies of PPC_WATCHDOG
and HAVE_HARDLOCKUP_DETECTOR_PERF definitions for powerpc.

As a result HAVE_HARDLOCKUP_DETECTOR_PERF has the same dependencies
on arm, x86, powerpc architectures.

Link: https://lkml.kernel.org/r/20230616150618.6073-7-pmladek@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/powerpc/Kconfig
include/linux/nmi.h
lib/Kconfig.debug

index bff5820b7cda14714f6b76da3bac2de92c8f740f..8eb6c5e9e4f8b0882708424c4589f9994e18c83f 100644 (file)
@@ -90,8 +90,7 @@ config NMI_IPI
 
 config PPC_WATCHDOG
        bool
-       depends on HARDLOCKUP_DETECTOR
-       depends on HAVE_HARDLOCKUP_DETECTOR_ARCH
+       depends on HARDLOCKUP_DETECTOR_ARCH
        default y
        help
          This is a placeholder when the powerpc hardlockup detector
@@ -240,7 +239,7 @@ config PPC
        select HAVE_GCC_PLUGINS                 if GCC_VERSION >= 50200   # plugin support on gcc <= 5.1 is buggy on PPC
        select HAVE_GENERIC_VDSO
        select HAVE_HARDLOCKUP_DETECTOR_ARCH    if PPC_BOOK3S_64 && SMP
-       select HAVE_HARDLOCKUP_DETECTOR_PERF    if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
+       select HAVE_HARDLOCKUP_DETECTOR_PERF    if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
        select HAVE_HW_BREAKPOINT               if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_TIME_ACCOUNTING
index e91a1f803d55a314e80e7dbc919f901574a06bf5..e3e6a64b98e09069b2f8c763f47aee97612a9d49 100644 (file)
@@ -9,7 +9,7 @@
 #include <asm/irq.h>
 
 /* Arch specific watchdogs might need to share extra watchdog-related APIs. */
-#if defined(CONFIG_HAVE_HARDLOCKUP_DETECTOR_ARCH) || defined(CONFIG_HARDLOCKUP_DETECTOR_SPARC64)
+#if defined(CONFIG_HARDLOCKUP_DETECTOR_ARCH) || defined(CONFIG_HARDLOCKUP_DETECTOR_SPARC64)
 #include <asm/nmi.h>
 #endif
 
index f285e9cf967ab57c9f3d2e0adb585c5c460582d9..2c4bb72e72ad85f8f234a4a19317acc90c3aa600 100644 (file)
@@ -1056,6 +1056,7 @@ config HARDLOCKUP_DETECTOR
        depends on HAVE_HARDLOCKUP_DETECTOR_PERF || HAVE_HARDLOCKUP_DETECTOR_BUDDY || HAVE_HARDLOCKUP_DETECTOR_ARCH
        imply HARDLOCKUP_DETECTOR_PERF
        imply HARDLOCKUP_DETECTOR_BUDDY
+       imply HARDLOCKUP_DETECTOR_ARCH
        select LOCKUP_DETECTOR
 
        help
@@ -1101,6 +1102,14 @@ config HARDLOCKUP_DETECTOR_BUDDY
        depends on !HAVE_HARDLOCKUP_DETECTOR_ARCH
        select HARDLOCKUP_DETECTOR_COUNTS_HRTIMER
 
+config HARDLOCKUP_DETECTOR_ARCH
+       bool
+       depends on HARDLOCKUP_DETECTOR
+       depends on HAVE_HARDLOCKUP_DETECTOR_ARCH
+       help
+         The arch-specific implementation of the hardlockup detector will
+         be used.
+
 #
 # Both the "perf" and "buddy" hardlockup detectors count hrtimer
 # interrupts. This config enables functions managing this common code.