linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig
@ 2012-02-01 12:31 Cong Wang
  2012-02-01 15:03 ` Don Zickus
  2012-02-01 18:55 ` Mike Frysinger
  0 siblings, 2 replies; 3+ messages in thread
From: Cong Wang @ 2012-02-01 12:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton, Don Zickus, WANG Cong

V2: Fix subject...

ARCH_HAS_NMI_WATCHDOG is a macro defined by arch,
but config HARDLOCKUP_DETECTOR depends on it.
This is wrong, ARCH_HAS_NMI_WATCHDOG has to be a Kconfig
config, and arch's need it should select it explicitly.

Cc: Don Zickus <dzickus@redhat.com>
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>

---
 arch/Kconfig                          |    3 +++
 arch/blackfin/Kconfig                 |    1 +
 arch/blackfin/include/asm/irq.h       |    4 ----
 arch/mn10300/Kconfig                  |    1 +
 arch/mn10300/include/asm/reset-regs.h |    4 ----
 arch/sparc/Kconfig                    |    1 +
 arch/sparc/include/asm/irq_64.h       |    1 -
 include/linux/nmi.h                   |    2 +-
 lib/Kconfig.debug                     |    2 +-
 9 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 4f55c73..c1a94a7 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -109,6 +109,9 @@ config HAVE_KRETPROBES
 
 config HAVE_OPTPROBES
 	bool
+
+config HAVE_NMI_WATCHDOG
+	bool
 #
 # An arch should select this if it provides all these things:
 #
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index abe5a9e..c1269a1 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -36,6 +36,7 @@ config BLACKFIN
 	select GENERIC_ATOMIC64
 	select GENERIC_IRQ_PROBE
 	select IRQ_PER_CPU if SMP
+	select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
 
 config GENERIC_CSUM
 	def_bool y
diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h
index 12f4060..89de539 100644
--- a/arch/blackfin/include/asm/irq.h
+++ b/arch/blackfin/include/asm/irq.h
@@ -38,8 +38,4 @@
 
 #include <asm-generic/irq.h>
 
-#ifdef CONFIG_NMI_WATCHDOG
-# define ARCH_HAS_NMI_WATCHDOG
-#endif
-
 #endif				/* _BFIN_IRQ_H_ */
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index 8f1c40d..3aa3de0 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -5,6 +5,7 @@ config MN10300
 	select GENERIC_IRQ_SHOW
 	select HAVE_ARCH_TRACEHOOK
 	select HAVE_ARCH_KGDB
+	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
 
 config AM33_2
 	def_bool n
diff --git a/arch/mn10300/include/asm/reset-regs.h b/arch/mn10300/include/asm/reset-regs.h
index 10c7502..8ca2a42 100644
--- a/arch/mn10300/include/asm/reset-regs.h
+++ b/arch/mn10300/include/asm/reset-regs.h
@@ -17,10 +17,6 @@
 
 #ifdef __KERNEL__
 
-#ifdef CONFIG_MN10300_WD_TIMER
-#define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
-#endif
-
 /*
  * watchdog timer registers
  */
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 9665799..53c7c7a 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -29,6 +29,7 @@ config SPARC
 	select GENERIC_IRQ_SHOW
 	select USE_GENERIC_SMP_HELPERS if SMP
 	select GENERIC_PCI_IOMAP
+	select HAVE_NMI_WATCHDOG if SPARC64
 
 config SPARC32
 	def_bool !64BIT
diff --git a/arch/sparc/include/asm/irq_64.h b/arch/sparc/include/asm/irq_64.h
index 16dcae6d..abf6afe 100644
--- a/arch/sparc/include/asm/irq_64.h
+++ b/arch/sparc/include/asm/irq_64.h
@@ -95,7 +95,6 @@ void arch_trigger_all_cpu_backtrace(void);
 extern void *hardirq_stack[NR_CPUS];
 extern void *softirq_stack[NR_CPUS];
 #define __ARCH_HAS_DO_SOFTIRQ
-#define ARCH_HAS_NMI_WATCHDOG
 
 #define NO_IRQ		0xffffffff
 
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index 2d304ef..db50840 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -14,7 +14,7 @@
  * may be used to reset the timeout - for code which intentionally
  * disables interrupts for a long time. This call is stateless.
  */
-#if defined(ARCH_HAS_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
+#if defined(CONFIG_HAVE_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
 #include <asm/nmi.h>
 extern void touch_nmi_watchdog(void);
 #else
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..2dc65ba 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -181,7 +181,7 @@ config LOCKUP_DETECTOR
 
 config HARDLOCKUP_DETECTOR
 	def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \
-		 !ARCH_HAS_NMI_WATCHDOG
+		 !HAVE_NMI_WATCHDOG
 
 config BOOTPARAM_HARDLOCKUP_PANIC
 	bool "Panic (Reboot) On Hard Lockups"

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-02-01 18:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-01 12:31 [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig Cong Wang
2012-02-01 15:03 ` Don Zickus
2012-02-01 18:55 ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).