aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/speedstep-ich.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/speedstep-ich.c')
-rw-r--r--drivers/cpufreq/speedstep-ich.c15
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
393static 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. */
401MODULE_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 */
399static int __init speedstep_init(void) 411static 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) {