diff options
Diffstat (limited to 'drivers/cpufreq/speedstep-ich.c')
-rw-r--r-- | drivers/cpufreq/speedstep-ich.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/cpufreq/speedstep-ich.c b/drivers/cpufreq/speedstep-ich.c index a748ce782fee..7432b3a72cd4 100644 --- a/drivers/cpufreq/speedstep-ich.c +++ b/drivers/cpufreq/speedstep-ich.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <linux/pci.h> | 25 | #include <linux/pci.h> |
26 | #include <linux/sched.h> | 26 | #include <linux/sched.h> |
27 | 27 | ||
28 | #include <asm/cpu_device_id.h> | ||
29 | |||
28 | #include "speedstep-lib.h" | 30 | #include "speedstep-lib.h" |
29 | 31 | ||
30 | 32 | ||
@@ -388,6 +390,16 @@ static struct cpufreq_driver speedstep_driver = { | |||
388 | .attr = speedstep_attr, | 390 | .attr = speedstep_attr, |
389 | }; | 391 | }; |
390 | 392 | ||
393 | static const struct x86_cpu_id ss_smi_ids[] = { | ||
394 | { X86_VENDOR_INTEL, 6, 0xb, }, | ||
395 | { X86_VENDOR_INTEL, 6, 0x8, }, | ||
396 | { X86_VENDOR_INTEL, 15, 2 }, | ||
397 | {} | ||
398 | }; | ||
399 | #if 0 | ||
400 | /* Autoload or not? Do not for now. */ | ||
401 | MODULE_DEVICE_TABLE(x86cpu, ss_smi_ids); | ||
402 | #endif | ||
391 | 403 | ||
392 | /** | 404 | /** |
393 | * speedstep_init - initializes the SpeedStep CPUFreq driver | 405 | * speedstep_init - initializes the SpeedStep CPUFreq driver |
@@ -398,6 +410,9 @@ static struct cpufreq_driver speedstep_driver = { | |||
398 | */ | 410 | */ |
399 | static int __init speedstep_init(void) | 411 | static int __init speedstep_init(void) |
400 | { | 412 | { |
413 | if (!x86_match_cpu(ss_smi_ids)) | ||
414 | return -ENODEV; | ||
415 | |||
401 | /* detect processor */ | 416 | /* detect processor */ |
402 | speedstep_processor = speedstep_detect_processor(); | 417 | speedstep_processor = speedstep_detect_processor(); |
403 | if (!speedstep_processor) { | 418 | if (!speedstep_processor) { |