Skip to contentSkip to conversation

MCA: setup ifdefs

PATCH New Andrew Hendry 1 participant 1 message Jul 15, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 MCA: setup ifdefs

The MCA setup performed is only needed when CONFIG_MCA=y. This wraps the setup with CONFIG_MCA and removes EXPORT_SYMBOL(machine_id) as no modules use it. Moved MCA setup variables from processor.h to mca.h because nothing else uses them.

arch/i386/boot/main.c +2 -0
diff -uprN -X dontdiff a/arch/i386/boot/main.c b/arch/i386/boot/main.c
@@ -137,7 +137,9 @@ void main(void)
 	set_video();
 
 	/* Query MCA information */
+#ifdef CONFIG_MCA
 	query_mca();
+#endif
 
 	/* Voyager */
 #ifdef CONFIG_X86_VOYAGER
arch/i386/boot/mca.c +4 -0
diff -uprN -X dontdiff a/arch/i386/boot/mca.c b/arch/i386/boot/mca.c
@@ -16,6 +16,8 @@
 
 #include "boot.h"
 
+#ifdef CONFIG_MCA
+
 int query_mca(void)
 {
 	u8 err;
@@ -41,3 +43,5 @@ int query_mca(void)
 	copy_from_fs(&boot_params.sys_desc_table, bx, len);
 	return 0;
 }
+
+#endif

diff -uprN -X dontdiff a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c --- a/arch/i386/kernel/setup.c

2007-07-15 12:23:45.000000000 +1000 +++

b/arch/i386/kernel/setup.c 2007-07-15 13:29:06.000000000 +1000
@@ -84,13 +84,11 @@ EXPORT_SYMBOL(boot_cpu_data);
unsigned long mmu_cr4_features;

-/* for MCA, but anyone else can use it if they want */ -unsigned int machine_id;
#ifdef CONFIG_MCA
-EXPORT_SYMBOL(machine_id);
-#endif
+unsigned int machine_id;
unsigned int machine_submodel_id;
unsigned int BIOS_revision;
+#endif

/* Boot loader ID as an integer, for the benefit of proc_dointvec */ int bootloader_type;
@@ -480,8 +478,6 @@ static void set_mca_bus(int x)
{
MCA_bus = x;
}
-#else
-static void set_mca_bus(int x) { }
#endif

/* Overridden in paravirt.c if CONFIG_PARAVIRT */
@@ -523,12 +519,15 @@ void __init setup_arch(char **cmdline_p)
apm_info.bios = APM_BIOS_INFO;
ist_info = IST_INFO;
saved_videomode = VIDEO_MODE;
+
+#ifdef CONFIG_MCA
if( SYS_DESC_TABLE.length != 0 ) {
set_mca_bus(SYS_DESC_TABLE.table[3] & 0x2); machine_id = SYS_DESC_TABLE.table[0]; machine_submodel_id = SYS_DESC_TABLE.table[1]; BIOS_revision = SYS_DESC_TABLE.table[2];
}
+#endif
bootloader_type = LOADER_TYPE;

#ifdef CONFIG_BLK_DEV_RAM
diff -uprN -X dontdiff a/include/asm-i386/processor.h b/include/asm-i386/processor.h ---
a/include/asm-i386/processor.h 2007-07-15 12:23:45.000000000
+1000 +++ b/include/asm-i386/processor.h 2007-07-15
13:31:54.000000000 +1000 @@ -206,12 +206,6 @@ static inline void __mwait(unsigned long extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx);
-/* from system description table in BIOS. Mostly for MCA use, but -others may find it useful. */
-extern unsigned int machine_id;
-extern unsigned int machine_submodel_id;
-extern unsigned int BIOS_revision;
-
/* Boot loader type from the setup header */
extern int bootloader_type;

include/linux/mca.h +5 -0
diff -uprN -X dontdiff a/include/linux/mca.h b/include/linux/mca.h
@@ -34,6 +34,11 @@ typedef int (*MCA_ProcFn)(char* buf, int
  */
 extern void mca_handle_nmi(void);
 
+/* From system description table in BIOS */
+extern unsigned int machine_id;
+extern unsigned int machine_submodel_id;
+extern unsigned int BIOS_revision;
+
 enum MCA_AdapterStatus {
 	MCA_ADAPTER_NORMAL = 0,
 	MCA_ADAPTER_NONE = 1,