aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/cpu/cpufreq/longhaul.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c
index d735cb460612..dfd243f497b2 100644
--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
@@ -688,6 +688,18 @@ static int __init longhaul_init(void)
688 if (c->x86_vendor != X86_VENDOR_CENTAUR || c->x86 != 6) 688 if (c->x86_vendor != X86_VENDOR_CENTAUR || c->x86 != 6)
689 return -ENODEV; 689 return -ENODEV;
690 690
691#ifdef CONFIG_SMP
692 if (num_online_cpus() > 1) {
693 return -ENODEV;
694 printk(KERN_ERR PFX "More than 1 CPU detected, longhaul disabled.\n");
695 }
696#endif
697#ifdef CONFIG_X86_IO_APIC
698 if (cpu_has_apic) {
699 printk(KERN_ERR PFX "APIC detected. Longhaul is currently broken in this configuration.\n");
700 return -ENODEV;
701 }
702#endif
691 switch (c->x86_model) { 703 switch (c->x86_model) {
692 case 6 ... 9: 704 case 6 ... 9:
693 return cpufreq_register_driver(&longhaul_driver); 705 return cpufreq_register_driver(&longhaul_driver);