From: Ben Hutchings Date: Mon, 18 Jun 2012 02:56:40 +0100 Subject: Partially revert "cpufreq: Add support for x86 cpuinfo auto loading v4" This reverts commit fa8031aefec0cf7ea6c2387c93610d99d9659aa2 in drivers/cpufreq/e_powersaver.c only. e_powersaver may cause the CPU to run too fast on some systems, and is therefore unsafe to auto-load. --- drivers/cpufreq/e_powersaver.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/cpufreq/e_powersaver.c b/drivers/cpufreq/e_powersaver.c index 3fffbe6..4bd6815 100644 --- a/drivers/cpufreq/e_powersaver.c +++ b/drivers/cpufreq/e_powersaver.c @@ -16,7 +16,6 @@ #include #include -#include #include #include @@ -438,19 +437,18 @@ static struct cpufreq_driver eps_driver = { .attr = eps_attr, }; - -/* This driver will work only on Centaur C7 processors with - * Enhanced SpeedStep/PowerSaver registers */ -static const struct x86_cpu_id eps_cpu_id[] = { - { X86_VENDOR_CENTAUR, 6, X86_MODEL_ANY, X86_FEATURE_EST }, - {} -}; -MODULE_DEVICE_TABLE(x86cpu, eps_cpu_id); - static int __init eps_init(void) { - if (!x86_match_cpu(eps_cpu_id) || boot_cpu_data.x86_model < 10) + struct cpuinfo_x86 *c = &cpu_data(0); + + /* This driver will work only on Centaur C7 processors with + * Enhanced SpeedStep/PowerSaver registers */ + if (c->x86_vendor != X86_VENDOR_CENTAUR + || c->x86 != 6 || c->x86_model < 10) + return -ENODEV; + if (!cpu_has(c, X86_FEATURE_EST)) return -ENODEV; + if (cpufreq_register_driver(&eps_driver)) return -EINVAL; return 0;