diff options
Diffstat (limited to 'drivers/cpufreq/powernow-k7.c')
-rw-r--r-- | drivers/cpufreq/powernow-k7.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/cpufreq/powernow-k7.c b/drivers/cpufreq/powernow-k7.c index d71d9f372359..cf7e1ee005a2 100644 --- a/drivers/cpufreq/powernow-k7.c +++ b/drivers/cpufreq/powernow-k7.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/timer.h> /* Needed for recalibrate_cpu_khz() */ | 28 | #include <asm/timer.h> /* Needed for recalibrate_cpu_khz() */ |
29 | #include <asm/msr.h> | 29 | #include <asm/msr.h> |
30 | #include <asm/system.h> | 30 | #include <asm/system.h> |
31 | #include <asm/cpu_device_id.h> | ||
31 | 32 | ||
32 | #ifdef CONFIG_X86_POWERNOW_K7_ACPI | 33 | #ifdef CONFIG_X86_POWERNOW_K7_ACPI |
33 | #include <linux/acpi.h> | 34 | #include <linux/acpi.h> |
@@ -110,18 +111,19 @@ static int check_fsb(unsigned int fsbspeed) | |||
110 | return delta < 5; | 111 | return delta < 5; |
111 | } | 112 | } |
112 | 113 | ||
114 | static const struct x86_cpu_id powernow_k7_cpuids[] = { | ||
115 | { X86_VENDOR_AMD, 6, }, | ||
116 | {} | ||
117 | }; | ||
118 | MODULE_DEVICE_TABLE(x86cpu, powernow_k7_cpuids); | ||
119 | |||
113 | static int check_powernow(void) | 120 | static int check_powernow(void) |
114 | { | 121 | { |
115 | struct cpuinfo_x86 *c = &cpu_data(0); | 122 | struct cpuinfo_x86 *c = &cpu_data(0); |
116 | unsigned int maxei, eax, ebx, ecx, edx; | 123 | unsigned int maxei, eax, ebx, ecx, edx; |
117 | 124 | ||
118 | if ((c->x86_vendor != X86_VENDOR_AMD) || (c->x86 != 6)) { | 125 | if (!x86_match_cpu(powernow_k7_cpuids)) |
119 | #ifdef MODULE | ||
120 | printk(KERN_INFO PFX "This module only works with " | ||
121 | "AMD K7 CPUs\n"); | ||
122 | #endif | ||
123 | return 0; | 126 | return 0; |
124 | } | ||
125 | 127 | ||
126 | /* Get maximum capabilities */ | 128 | /* Get maximum capabilities */ |
127 | maxei = cpuid_eax(0x80000000); | 129 | maxei = cpuid_eax(0x80000000); |