diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-28 07:47:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-28 17:20:27 -0500 |
commit | 5f836405ef632ba82f4a5261ff2be4198e53b51b (patch) | |
tree | 2bae6d0a06330da3232b2eb34240c795b307bba2 /arch/x86/mach-generic | |
parent | cb8cc442dc7e07cb5438b357843ab4095ad73933 (diff) |
x86, smp: clean up mps_oem_check()
Impact: cleanup
- allow NULL ->mps_oem_check() entries
- clean up the code flow
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mach-generic')
-rw-r--r-- | arch/x86/mach-generic/probe.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/x86/mach-generic/probe.c b/arch/x86/mach-generic/probe.c index a21e2b1a7011..799a70f4d90e 100644 --- a/arch/x86/mach-generic/probe.c +++ b/arch/x86/mach-generic/probe.c | |||
@@ -113,17 +113,21 @@ void __init generic_apic_probe(void) | |||
113 | int __init mps_oem_check(struct mpc_table *mpc, char *oem, char *productid) | 113 | int __init mps_oem_check(struct mpc_table *mpc, char *oem, char *productid) |
114 | { | 114 | { |
115 | int i; | 115 | int i; |
116 | |||
116 | for (i = 0; apic_probe[i]; ++i) { | 117 | for (i = 0; apic_probe[i]; ++i) { |
117 | if (apic_probe[i]->mps_oem_check(mpc, oem, productid)) { | 118 | if (!apic_probe[i]->mps_oem_check) |
118 | if (!cmdline_apic) { | 119 | continue; |
119 | apic = apic_probe[i]; | 120 | if (!apic_probe[i]->mps_oem_check(mpc, oem, productid)) |
120 | if (x86_quirks->update_genapic) | 121 | continue; |
121 | x86_quirks->update_genapic(); | 122 | |
122 | printk(KERN_INFO "Switched to APIC driver `%s'.\n", | 123 | if (!cmdline_apic) { |
123 | apic->name); | 124 | apic = apic_probe[i]; |
124 | } | 125 | if (x86_quirks->update_genapic) |
125 | return 1; | 126 | x86_quirks->update_genapic(); |
127 | printk(KERN_INFO "Switched to APIC driver `%s'.\n", | ||
128 | apic->name); | ||
126 | } | 129 | } |
130 | return 1; | ||
127 | } | 131 | } |
128 | return 0; | 132 | return 0; |
129 | } | 133 | } |