Skip to content

Commit

Permalink
nmi watchdog: do not use cpp symbol in Kconfig
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Cong Wang authored and Linus Torvalds committed Mar 23, 2012
1 parent b502bd1 commit d314d74
Show file tree
Hide file tree
Showing 9 changed files with 8 additions and 11 deletions.
3 changes: 3 additions & 0 deletions arch/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ config HAVE_KRETPROBES

config HAVE_OPTPROBES
bool

config HAVE_NMI_WATCHDOG
bool
#
# An arch should select this if it provides all these things:
#
Expand Down
1 change: 1 addition & 0 deletions arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 0 additions & 4 deletions arch/blackfin/include/asm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,4 @@

#include <asm-generic/irq.h>

#ifdef CONFIG_NMI_WATCHDOG
# define ARCH_HAS_NMI_WATCHDOG
#endif

#endif /* _BFIN_IRQ_H_ */
1 change: 1 addition & 0 deletions arch/mn10300/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 0 additions & 4 deletions arch/mn10300/include/asm/reset-regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down
1 change: 1 addition & 0 deletions arch/sparc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion arch/sparc/include/asm/irq_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion include/linux/nmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion lib/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,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"
Expand Down

0 comments on commit d314d74

Please sign in to comment.