nmi watchdog: do not use cpp symbol in Kconfig

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.

Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Acked-by: Don Zickus <dzickus@redhat.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: David Howells <dhowells@redhat.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Cong Wang 2012-03-23 15:01:51 -07:00 committed by Linus Torvalds
parent b502bd1152
commit d314d74c69
9 changed files with 8 additions and 11 deletions

View File

@ -120,6 +120,9 @@ config HAVE_KRETPROBES
config HAVE_OPTPROBES config HAVE_OPTPROBES
bool bool
config HAVE_NMI_WATCHDOG
bool
# #
# An arch should select this if it provides all these things: # An arch should select this if it provides all these things:
# #

View File

@ -36,6 +36,7 @@ config BLACKFIN
select GENERIC_ATOMIC64 select GENERIC_ATOMIC64
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select IRQ_PER_CPU if SMP select IRQ_PER_CPU if SMP
select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
config GENERIC_CSUM config GENERIC_CSUM
def_bool y def_bool y

View File

@ -38,8 +38,4 @@
#include <asm-generic/irq.h> #include <asm-generic/irq.h>
#ifdef CONFIG_NMI_WATCHDOG
# define ARCH_HAS_NMI_WATCHDOG
#endif
#endif /* _BFIN_IRQ_H_ */ #endif /* _BFIN_IRQ_H_ */

View File

@ -5,6 +5,7 @@ config MN10300
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_ARCH_KGDB select HAVE_ARCH_KGDB
select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
config AM33_2 config AM33_2
def_bool n def_bool n

View File

@ -17,10 +17,6 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#ifdef CONFIG_MN10300_WD_TIMER
#define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */
#endif
/* /*
* watchdog timer registers * watchdog timer registers
*/ */

View File

@ -29,6 +29,7 @@ config SPARC
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select USE_GENERIC_SMP_HELPERS if SMP select USE_GENERIC_SMP_HELPERS if SMP
select GENERIC_PCI_IOMAP select GENERIC_PCI_IOMAP
select HAVE_NMI_WATCHDOG if SPARC64
config SPARC32 config SPARC32
def_bool !64BIT def_bool !64BIT

View File

@ -95,7 +95,6 @@ void arch_trigger_all_cpu_backtrace(void);
extern void *hardirq_stack[NR_CPUS]; extern void *hardirq_stack[NR_CPUS];
extern void *softirq_stack[NR_CPUS]; extern void *softirq_stack[NR_CPUS];
#define __ARCH_HAS_DO_SOFTIRQ #define __ARCH_HAS_DO_SOFTIRQ
#define ARCH_HAS_NMI_WATCHDOG
#define NO_IRQ 0xffffffff #define NO_IRQ 0xffffffff

View File

@ -14,7 +14,7 @@
* may be used to reset the timeout - for code which intentionally * may be used to reset the timeout - for code which intentionally
* disables interrupts for a long time. This call is stateless. * 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> #include <asm/nmi.h>
extern void touch_nmi_watchdog(void); extern void touch_nmi_watchdog(void);
#else #else

View File

@ -184,7 +184,7 @@ config LOCKUP_DETECTOR
config HARDLOCKUP_DETECTOR config HARDLOCKUP_DETECTOR
def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \ def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \
!ARCH_HAS_NMI_WATCHDOG !HAVE_NMI_WATCHDOG
config BOOTPARAM_HARDLOCKUP_PANIC config BOOTPARAM_HARDLOCKUP_PANIC
bool "Panic (Reboot) On Hard Lockups" bool "Panic (Reboot) On Hard Lockups"