aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/probe_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/apic/probe_32.c')
-rw-r--r--arch/x86/kernel/apic/probe_32.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/x86/kernel/apic/probe_32.c b/arch/x86/kernel/apic/probe_32.c
index 3a730fa574b..141c99a1c26 100644
--- a/arch/x86/kernel/apic/probe_32.c
+++ b/arch/x86/kernel/apic/probe_32.c
@@ -138,7 +138,6 @@ struct apic apic_default = {
138 .send_IPI_all = default_send_IPI_all, 138 .send_IPI_all = default_send_IPI_all,
139 .send_IPI_self = default_send_IPI_self, 139 .send_IPI_self = default_send_IPI_self,
140 140
141 .wakeup_cpu = NULL,
142 .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW, 141 .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW,
143 .trampoline_phys_high = DEFAULT_TRAMPOLINE_PHYS_HIGH, 142 .trampoline_phys_high = DEFAULT_TRAMPOLINE_PHYS_HIGH,
144 143
@@ -159,6 +158,7 @@ extern struct apic apic_numaq;
159extern struct apic apic_summit; 158extern struct apic apic_summit;
160extern struct apic apic_bigsmp; 159extern struct apic apic_bigsmp;
161extern struct apic apic_es7000; 160extern struct apic apic_es7000;
161extern struct apic apic_es7000_cluster;
162extern struct apic apic_default; 162extern struct apic apic_default;
163 163
164struct apic *apic = &apic_default; 164struct apic *apic = &apic_default;
@@ -176,6 +176,7 @@ static struct apic *apic_probe[] __initdata = {
176#endif 176#endif
177#ifdef CONFIG_X86_ES7000 177#ifdef CONFIG_X86_ES7000
178 &apic_es7000, 178 &apic_es7000,
179 &apic_es7000_cluster,
179#endif 180#endif
180 &apic_default, /* must be last */ 181 &apic_default, /* must be last */
181 NULL, 182 NULL,
@@ -197,9 +198,6 @@ static int __init parse_apic(char *arg)
197 } 198 }
198 } 199 }
199 200
200 if (x86_quirks->update_apic)
201 x86_quirks->update_apic();
202
203 /* Parsed again by __setup for debug/verbose */ 201 /* Parsed again by __setup for debug/verbose */
204 return 0; 202 return 0;
205} 203}
@@ -218,8 +216,6 @@ void __init generic_bigsmp_probe(void)
218 if (!cmdline_apic && apic == &apic_default) { 216 if (!cmdline_apic && apic == &apic_default) {
219 if (apic_bigsmp.probe()) { 217 if (apic_bigsmp.probe()) {
220 apic = &apic_bigsmp; 218 apic = &apic_bigsmp;
221 if (x86_quirks->update_apic)
222 x86_quirks->update_apic();
223 printk(KERN_INFO "Overriding APIC driver with %s\n", 219 printk(KERN_INFO "Overriding APIC driver with %s\n",
224 apic->name); 220 apic->name);
225 } 221 }
@@ -240,9 +236,6 @@ void __init generic_apic_probe(void)
240 /* Not visible without early console */ 236 /* Not visible without early console */
241 if (!apic_probe[i]) 237 if (!apic_probe[i])
242 panic("Didn't find an APIC driver"); 238 panic("Didn't find an APIC driver");
243
244 if (x86_quirks->update_apic)
245 x86_quirks->update_apic();
246 } 239 }
247 printk(KERN_INFO "Using APIC driver %s\n", apic->name); 240 printk(KERN_INFO "Using APIC driver %s\n", apic->name);
248} 241}
@@ -262,8 +255,6 @@ generic_mps_oem_check(struct mpc_table *mpc, char *oem, char *productid)
262 255
263 if (!cmdline_apic) { 256 if (!cmdline_apic) {
264 apic = apic_probe[i]; 257 apic = apic_probe[i];
265 if (x86_quirks->update_apic)
266 x86_quirks->update_apic();
267 printk(KERN_INFO "Switched to APIC driver `%s'.\n", 258 printk(KERN_INFO "Switched to APIC driver `%s'.\n",
268 apic->name); 259 apic->name);
269 } 260 }
@@ -284,8 +275,6 @@ int __init default_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
284 275
285 if (!cmdline_apic) { 276 if (!cmdline_apic) {
286 apic = apic_probe[i]; 277 apic = apic_probe[i];
287 if (x86_quirks->update_apic)
288 x86_quirks->update_apic();
289 printk(KERN_INFO "Switched to APIC driver `%s'.\n", 278 printk(KERN_INFO "Switched to APIC driver `%s'.\n",
290 apic->name); 279 apic->name);
291 } 280 }