aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 06:45:33 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 11:12:52 -0400
commit52fdb5684660f9fd7129f7bbbe279a02893bacb8 (patch)
treec1b8e93f0ead1708f3634be1dd53b4675ee271cc /arch
parent72302142e165313ee58af81bd76708c12b58d7ab (diff)
x86: Move mpc_oem_pci_bus to x86_init_ops
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/setup.h1
-rw-r--r--arch/x86/include/asm/x86_init.h3
-rw-r--r--arch/x86/kernel/apic/numaq_32.c2
-rw-r--r--arch/x86/kernel/mpparse.c4
4 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index adb5d44d990..fd2267baba1 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -24,7 +24,6 @@ struct x86_quirks {
24 int (*mach_find_smp_config)(unsigned int reserve); 24 int (*mach_find_smp_config)(unsigned int reserve);
25 25
26 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); 26 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name);
27 void (*mpc_oem_pci_bus)(struct mpc_bus *m);
28}; 27};
29 28
30extern void x86_quirk_intr_init(void); 29extern void x86_quirk_intr_init(void);
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index fc0eef2f5fd..404e2d2b06d 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -1,6 +1,7 @@
1#ifndef _ASM_X86_PLATFORM_H 1#ifndef _ASM_X86_PLATFORM_H
2#define _ASM_X86_PLATFORM_H 2#define _ASM_X86_PLATFORM_H
3 3
4struct mpc_bus;
4struct mpc_cpu; 5struct mpc_cpu;
5struct mpc_table; 6struct mpc_table;
6 7
@@ -10,12 +11,14 @@ struct mpc_table;
10 * @setup_ioapic_ids: platform specific ioapic id override 11 * @setup_ioapic_ids: platform specific ioapic id override
11 * @mpc_apic_id: platform specific mpc apic id assignment 12 * @mpc_apic_id: platform specific mpc apic id assignment
12 * @smp_read_mpc_oem: platform specific oem mpc table setup 13 * @smp_read_mpc_oem: platform specific oem mpc table setup
14 * @mpc_oem_pci_bus: platform specific pci bus setup (default NULL)
13 */ 15 */
14struct x86_init_mpparse { 16struct x86_init_mpparse {
15 void (*mpc_record)(unsigned int mode); 17 void (*mpc_record)(unsigned int mode);
16 void (*setup_ioapic_ids)(void); 18 void (*setup_ioapic_ids)(void);
17 int (*mpc_apic_id)(struct mpc_cpu *m); 19 int (*mpc_apic_id)(struct mpc_cpu *m);
18 void (*smp_read_mpc_oem)(struct mpc_table *mpc); 20 void (*smp_read_mpc_oem)(struct mpc_table *mpc);
21 void (*mpc_oem_pci_bus)(struct mpc_bus *m);
19}; 22};
20 23
21/** 24/**
diff --git a/arch/x86/kernel/apic/numaq_32.c b/arch/x86/kernel/apic/numaq_32.c
index 1bd3b0ed240..feebe8eed7d 100644
--- a/arch/x86/kernel/apic/numaq_32.c
+++ b/arch/x86/kernel/apic/numaq_32.c
@@ -271,7 +271,6 @@ static struct x86_quirks numaq_x86_quirks __initdata = {
271 .mach_get_smp_config = NULL, 271 .mach_get_smp_config = NULL,
272 .mach_find_smp_config = NULL, 272 .mach_find_smp_config = NULL,
273 .mpc_oem_bus_info = mpc_oem_bus_info, 273 .mpc_oem_bus_info = mpc_oem_bus_info,
274 .mpc_oem_pci_bus = mpc_oem_pci_bus,
275}; 274};
276 275
277static __init void early_check_numaq(void) 276static __init void early_check_numaq(void)
@@ -293,6 +292,7 @@ static __init void early_check_numaq(void)
293 x86_init.mpparse.setup_ioapic_ids = x86_init_noop; 292 x86_init.mpparse.setup_ioapic_ids = x86_init_noop;
294 x86_init.mpparse.mpc_apic_id = mpc_apic_id; 293 x86_init.mpparse.mpc_apic_id = mpc_apic_id;
295 x86_init.mpparse.smp_read_mpc_oem = smp_read_mpc_oem; 294 x86_init.mpparse.smp_read_mpc_oem = smp_read_mpc_oem;
295 x86_init.mpparse.mpc_oem_pci_bus = mpc_oem_pci_bus;
296 } 296 }
297} 297}
298 298
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index 45abdf63edc..72e1140723c 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -98,8 +98,8 @@ static void __init MP_bus_info(struct mpc_bus *m)
98 mp_bus_id_to_type[m->busid] = MP_BUS_ISA; 98 mp_bus_id_to_type[m->busid] = MP_BUS_ISA;
99#endif 99#endif
100 } else if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI) - 1) == 0) { 100 } else if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI) - 1) == 0) {
101 if (x86_quirks->mpc_oem_pci_bus) 101 if (x86_init.mpparse.mpc_oem_pci_bus)
102 x86_quirks->mpc_oem_pci_bus(m); 102 x86_init.mpparse.mpc_oem_pci_bus(m);
103 103
104 clear_bit(m->busid, mp_bus_not_pci); 104 clear_bit(m->busid, mp_bus_not_pci);
105#if defined(CONFIG_EISA) || defined(CONFIG_MCA) 105#if defined(CONFIG_EISA) || defined(CONFIG_MCA)