aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/mpparse.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-20 06:05:01 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 11:12:52 -0400
commitf4848472cd99487e182b64fb2a5d0e4fedbe86ad (patch)
treed407ce2579e01beca7bee81df5fa3dbfe99cc512 /arch/x86/kernel/mpparse.c
parent6b18ae3e2ff62daa9f181401759161dd8de0aadf (diff)
x86: Sanitize smp_record and move it to x86_init_ops
The x86 quirkification introduced an extra ugly hackery with a variable pointer in the mpparse code. If the pointer is initialized then it is dereferenced and the variable set to 0 or incremented. Create a x86_init_ops function and let the affected numaq code hold the function. Default init is a setup noop. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/mpparse.c')
-rw-r--r--arch/x86/kernel/mpparse.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index 651c93b28862..b2179fdf0ff7 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -320,8 +320,7 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
320 /* 320 /*
321 * Now process the configuration blocks. 321 * Now process the configuration blocks.
322 */ 322 */
323 if (x86_quirks->mpc_record) 323 x86_init.mpparse.mpc_record(0);
324 *x86_quirks->mpc_record = 0;
325 324
326 while (count < mpc->length) { 325 while (count < mpc->length) {
327 switch (*mpt) { 326 switch (*mpt) {
@@ -353,8 +352,7 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
353 count = mpc->length; 352 count = mpc->length;
354 break; 353 break;
355 } 354 }
356 if (x86_quirks->mpc_record) 355 x86_init.mpparse.mpc_record(1);
357 (*x86_quirks->mpc_record)++;
358 } 356 }
359 357
360#ifdef CONFIG_X86_BIGSMP 358#ifdef CONFIG_X86_BIGSMP