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/

Reply via email to