Define do_nmi_callback() only after unknown_nmi_panic_callback() so we don't need to put its prototype in between #ifdef CONFIG_SYSCTL. Otherwise we have a prototype for a function we never define.
{enable,disable}_lapic_nmi_watchdog() should only be defined in CONFIG_SYSCTL. Cc: Ingo Molnar <[EMAIL PROTECTED]> Signed-off-by: David Rientjes <[EMAIL PROTECTED]> --- arch/i386/kernel/nmi.c | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c --- a/arch/i386/kernel/nmi.c +++ b/arch/i386/kernel/nmi.c @@ -73,8 +73,6 @@ struct nmi_watchdog_ctlblk { static DEFINE_PER_CPU(struct nmi_watchdog_ctlblk, nmi_watchdog_ctlblk); /* local prototypes */ -static int unknown_nmi_panic_callback(struct pt_regs *regs, int cpu); - extern void show_registers(struct pt_regs *regs); extern int unknown_nmi_panic; @@ -391,6 +389,8 @@ static int __init setup_nmi_watchdog(char *str) __setup("nmi_watchdog=", setup_nmi_watchdog); +#ifdef CONFIG_SYSCTL + static void disable_lapic_nmi_watchdog(void) { BUG_ON(nmi_watchdog != NMI_LOCAL_APIC); @@ -419,6 +419,8 @@ static void enable_lapic_nmi_watchdog(void) touch_nmi_watchdog(); } +#endif + void disable_timer_nmi_watchdog(void) { BUG_ON(nmi_watchdog != NMI_IO_APIC); @@ -1105,15 +1107,6 @@ done: return rc; } -int do_nmi_callback(struct pt_regs * regs, int cpu) -{ -#ifdef CONFIG_SYSCTL - if (unknown_nmi_panic) - return unknown_nmi_panic_callback(regs, cpu); -#endif - return 0; -} - #ifdef CONFIG_SYSCTL static int unknown_nmi_panic_callback(struct pt_regs *regs, int cpu) @@ -1167,6 +1160,15 @@ int proc_nmi_enabled(struct ctl_table *table, int write, struct file *file, #endif +int do_nmi_callback(struct pt_regs * regs, int cpu) +{ +#ifdef CONFIG_SYSCTL + if (unknown_nmi_panic) + return unknown_nmi_panic_callback(regs, cpu); +#endif + return 0; +} + void __trigger_all_cpu_backtrace(void) { int i; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/