mca: Wrap MCA code with CONFIG_MCA
PATCH 2/2 mca: Wrap MCA code with CONFIG_MCA
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] >
arch/i386/boot/setup.S +2 -0
@@ -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
arch/i386/kernel/setup.c +5 -6
@@ -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
include/asm-i386/processor.h +0 -6
@@ -259,12 +259,6 @@ static inline void __mwait(unsigned longextern 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
@@ -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 ,