[PATCH 2/2] mca: Wrap MCA code with CONFIG_MCA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Cumulative on previous patch 1/2.
The MCA setup performed in setup.[Sc] 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 as nothing else uses them.

Signed-off-by: Andrew Hendry <[email protected] >

diff -uprN -X dontdiff linux-2.6.21-vanilla/arch/i386/boot/setup.S linux-2.6.21/arch/i386/boot/setup.S
--- linux-2.6.21-vanilla/arch/i386/boot/setup.S	2007-05-06 13:05:15.000000000 +1000
+++ linux-2.6.21/arch/i386/boot/setup.S	2007-05-06 17:39:22.000000000 +1000
@@ -453,6 +453,7 @@ no_disk1:
 	rep
 	stosb
 is_disk1:
+#ifdef CONFIG_MCA
 # check for Micro Channel (MCA) bus
 	movw	%cs, %ax			# aka SETUPSEG
 	subw	$DELTA_INITSEG, %ax		# aka INITSEG
@@ -483,6 +484,7 @@ sysdesc_ok:
 	movsb
 	popw	%ds
 no_mca:
+#endif
 #ifdef CONFIG_X86_VOYAGER
 	movb	$0xff, 0x40	# flag on config found
 	movb	$0xc0, %al
diff -uprN -X dontdiff linux-2.6.21-vanilla/arch/i386/kernel/setup.c linux-2.6.21/arch/i386/kernel/setup.c
--- linux-2.6.21-vanilla/arch/i386/kernel/setup.c	2007-05-06 13:05:18.000000000 +1000
+++ linux-2.6.21/arch/i386/kernel/setup.c	2007-05-06 17:42:29.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;
@@ -489,8 +487,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 */
@@ -533,12 +529,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 linux-2.6.21-vanilla/include/asm-i386/processor.h linux-2.6.21/include/asm-i386/processor.h
--- linux-2.6.21-vanilla/include/asm-i386/processor.h	2007-05-06 13:09:29.000000000 +1000
+++ linux-2.6.21/include/asm-i386/processor.h	2007-05-07 21:01:10.000000000 +1000
@@ -259,12 +259,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;
 
diff -uprN -X dontdiff linux-2.6.21-vanilla/include/linux/mca.h linux-2.6.21/include/linux/mca.h
--- linux-2.6.21-vanilla/include/linux/mca.h	2007-05-06 13:09:31.000000000 +1000
+++ linux-2.6.21/include/linux/mca.h	2007-05-07 21:01:01.000000000 +1000
@@ -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,
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux