aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 06:18:32 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 11:12:52 -0400
commit72302142e165313ee58af81bd76708c12b58d7ab (patch)
tree40306eb3d528ce801651983388bb0bb12ca0c5b3 /arch/x86/kernel
parentfd6c6661492226bb82f422157c535ac573cbecbd (diff)
x86: Move smp_read_mpc_oem to x86_init_ops.
Move smp_read_mpc_oem from quirks to x86_init. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/apic/numaq_32.c6
-rw-r--r--arch/x86/kernel/mpparse.c8
-rw-r--r--arch/x86/kernel/x86_init.c1
3 files changed, 8 insertions, 7 deletions
diff --git a/arch/x86/kernel/apic/numaq_32.c b/arch/x86/kernel/apic/numaq_32.c
index 222413f7e797..1bd3b0ed2400 100644
--- a/arch/x86/kernel/apic/numaq_32.c
+++ b/arch/x86/kernel/apic/numaq_32.c
@@ -218,9 +218,9 @@ static int __init mpf_checksum(unsigned char *mp, int len)
218/* 218/*
219 * Read/parse the MPC oem tables 219 * Read/parse the MPC oem tables
220 */ 220 */
221static void __init 221static void __init smp_read_mpc_oem(struct mpc_table *mpc)
222 smp_read_mpc_oem(struct mpc_oemtable *oemtable, unsigned short oemsize)
223{ 222{
223 struct mpc_oemtable *oemtable = (void *)(long)mpc->oemptr;
224 int count = sizeof(*oemtable); /* the header size */ 224 int count = sizeof(*oemtable); /* the header size */
225 unsigned char *oemptr = ((unsigned char *)oemtable) + count; 225 unsigned char *oemptr = ((unsigned char *)oemtable) + count;
226 226
@@ -272,7 +272,6 @@ static struct x86_quirks numaq_x86_quirks __initdata = {
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, 274 .mpc_oem_pci_bus = mpc_oem_pci_bus,
275 .smp_read_mpc_oem = smp_read_mpc_oem,
276}; 275};
277 276
278static __init void early_check_numaq(void) 277static __init void early_check_numaq(void)
@@ -293,6 +292,7 @@ static __init void early_check_numaq(void)
293 x86_init.mpparse.mpc_record = numaq_mpc_record; 292 x86_init.mpparse.mpc_record = numaq_mpc_record;
294 x86_init.mpparse.setup_ioapic_ids = x86_init_noop; 293 x86_init.mpparse.setup_ioapic_ids = x86_init_noop;
295 x86_init.mpparse.mpc_apic_id = mpc_apic_id; 294 x86_init.mpparse.mpc_apic_id = mpc_apic_id;
295 x86_init.mpparse.smp_read_mpc_oem = smp_read_mpc_oem;
296 } 296 }
297} 297}
298 298
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index 04560860a72a..45abdf63edcd 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -293,6 +293,8 @@ static void __init smp_dump_mptable(struct mpc_table *mpc, unsigned char *mpt)
293 1, mpc, mpc->length, 1); 293 1, mpc, mpc->length, 1);
294} 294}
295 295
296void __init default_smp_read_mpc_oem(struct mpc_table *mpc) { }
297
296static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) 298static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
297{ 299{
298 char str[16]; 300 char str[16];
@@ -314,10 +316,8 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
314 if (early) 316 if (early)
315 return 1; 317 return 1;
316 318
317 if (mpc->oemptr && x86_quirks->smp_read_mpc_oem) { 319 if (mpc->oemptr)
318 struct mpc_oemtable *oem_table = (void *)(long)mpc->oemptr; 320 x86_init.mpparse.smp_read_mpc_oem(mpc);
319 x86_quirks->smp_read_mpc_oem(oem_table, mpc->oemsize);
320 }
321 321
322 /* 322 /*
323 * Now process the configuration blocks. 323 * Now process the configuration blocks.
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 08749f2612f3..fb5d93c077d8 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -30,5 +30,6 @@ struct __initdata x86_init_ops x86_init = {
30 .mpc_record = x86_init_uint_noop, 30 .mpc_record = x86_init_uint_noop,
31 .setup_ioapic_ids = x86_init_noop, 31 .setup_ioapic_ids = x86_init_noop,
32 .mpc_apic_id = default_mpc_apic_id, 32 .mpc_apic_id = default_mpc_apic_id,
33 .smp_read_mpc_oem = default_smp_read_mpc_oem,
33 }, 34 },
34}; 35};