bk://linux-dj.bkbits.net/cpufreq davej@redhat.com|ChangeSet|20040903202319|40359 davej # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/09/03 21:23:19+01:00 davej@redhat.com # [CPUFREQ] speedstep-smi: only allow it to run on mobile Intel Pentium III # # speedstep-smi only makes sense on Intel mobile Pentium III systems. # So, unify the distributed checks for speedstep_processor there, # and disallow P4s. # # Signed-off-by: Dominik Brodowski # Signed-off-by: Dave Jones # # arch/i386/kernel/cpu/cpufreq/speedstep-smi.c # 2004/09/03 21:23:10+01:00 davej@redhat.com +12 -13 # [CPUFREQ] speedstep-smi: only allow it to run on mobile Intel Pentium III # # speedstep-smi only makes sense on Intel mobile Pentium III systems. # So, unify the distributed checks for speedstep_processor there, # and disallow P4s. # # Signed-off-by: Dominik Brodowski # Signed-off-by: Dave Jones # # ChangeSet # 2004/08/25 14:07:34-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq # # arch/i386/kernel/smpboot.c # 2004/08/25 14:07:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/24 17:39:15-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/cpufreq # into bix.(none):/usr/src/bk-cpufreq # # include/asm-i386/acpi.h # 2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/i386/kernel/smpboot.c # 2004/08/24 17:39:11-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/24 17:37:54-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq # # arch/i386/kernel/smpboot.c # 2004/08/24 17:37:47-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/23 13:53:34-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/cpufreq # into bix.(none):/usr/src/bk-cpufreq # # include/asm-i386/acpi.h # 2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/i386/kernel/smpboot.c # 2004/08/23 13:53:31-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/22 21:09:40-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq # # include/asm-i386/acpi.h # 2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/i386/kernel/smpboot.c # 2004/08/22 21:09:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/20 02:10:39-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/cpufreq # into bix.(none):/usr/src/bk-cpufreq # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/20 02:10:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/17 14:12:14-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/cpufreq # into bix.(none):/usr/src/bk-cpufreq # # arch/i386/kernel/smpboot.c # 2004/08/17 14:12:10-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/15 01:01:43-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/cpufreq # into bix.(none):/usr/src/bk-cpufreq # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/15 01:01:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/15 01:00:46-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq # # include/asm-i386/acpi.h # 2004/08/15 01:00:42-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/08/08 02:12:22-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-cpufreq # # drivers/cpufreq/cpufreq_userspace.c # 2004/08/08 02:12:18-07:00 akpm@bix.(none) +0 -0 # Auto merged # diff -Nru a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c --- a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c 2004-09-06 17:19:07 -07:00 +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c 2004-09-06 17:19:07 -07:00 @@ -260,12 +260,6 @@ if (result) { /* fall back to speedstep_lib.c dection mechanism: try both states out */ dprintk(KERN_INFO PFX "could not detect low and high frequencies by SMI call.\n"); - if (!speedstep_processor) - speedstep_processor = speedstep_detect_processor(); - - if (!speedstep_processor) - return -ENODEV; - result = speedstep_get_freqs(speedstep_processor, &speedstep_freqs[SPEEDSTEP_LOW].frequency, &speedstep_freqs[SPEEDSTEP_HIGH].frequency, @@ -310,10 +304,6 @@ { if (cpu) return -ENODEV; - if (!speedstep_processor) - speedstep_processor = speedstep_detect_processor(); - if (!speedstep_processor) - return 0; return speedstep_get_processor_frequency(speedstep_processor); } @@ -354,10 +344,19 @@ */ static int __init speedstep_init(void) { - struct cpuinfo_x86 *c = cpu_data; + speedstep_processor = speedstep_detect_processor(); + + switch (speedstep_processor) { + case SPEEDSTEP_PROCESSOR_PIII_T: + case SPEEDSTEP_PROCESSOR_PIII_C: + case SPEEDSTEP_PROCESSOR_PIII_C_EARLY: + break; + default: + speedstep_processor = 0; + } - if (c->x86_vendor != X86_VENDOR_INTEL) { - printk (KERN_INFO PFX "No Intel CPU detected.\n"); + if (!speedstep_processor) { + dprintk (KERN_INFO PFX "No supported Intel CPU detected.\n"); return -ENODEV; }