From: Herbert Xu <herbert@gondor.apana.org.au>

By allowing X86_MCE_NONFATAL to be a module, it can be included in
distribution kernels without upsetting those with strange hardware.


---

 25-akpm/arch/i386/Kconfig                 |    2 +-
 25-akpm/arch/i386/kernel/cpu/mcheck/mce.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff -puN arch/i386/Kconfig~modular-mce-handler arch/i386/Kconfig
--- 25/arch/i386/Kconfig~modular-mce-handler	Mon Mar  1 15:18:16 2004
+++ 25-akpm/arch/i386/Kconfig	Mon Mar  1 15:54:09 2004
@@ -562,7 +562,7 @@ config X86_MCE
 	  the 386 and 486, so nearly everyone can say Y here.
 
 config X86_MCE_NONFATAL
-	bool "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
+	tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
 	depends on X86_MCE
 	help
 	  Enabling this feature starts a timer that triggers every 5 seconds which
diff -puN arch/i386/kernel/cpu/mcheck/mce.c~modular-mce-handler arch/i386/kernel/cpu/mcheck/mce.c
--- 25/arch/i386/kernel/cpu/mcheck/mce.c~modular-mce-handler	Mon Mar  1 15:18:16 2004
+++ 25-akpm/arch/i386/kernel/cpu/mcheck/mce.c	Mon Mar  1 15:58:44 2004
@@ -7,6 +7,7 @@
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/config.h>
+#include <linux/module.h>
 #include <linux/smp.h>
 #include <linux/thread_info.h>
 
@@ -18,6 +19,8 @@
 int mce_disabled __initdata = 0;
 int nr_mce_banks;
 
+EXPORT_SYMBOL_GPL(nr_mce_banks);	/* non-fatal.o */
+
 /* Handle unconfigured int18 (should never happen) */
 static asmlinkage void unexpected_machine_check(struct pt_regs * regs, long error_code)
 {	

_