UBUNTU: SAUCE: (no-up) Allow filtering of cpufreq drivers

Harmless patch that allows k8 powernow machines to boot. Carry until
conflict.

BugLink: http://bugs.launchpad.net/bugs/984288

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Herton Krzesinski <herton.krzesinski@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
[ arighi: context adjustment (cpu0_hotplug has been removed) ]
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Tim Gardner
2012-04-24 11:47:18 -06:00
committed by Paolo Pisati
parent 114c27a7c3
commit 12fdc5c1ca
2 changed files with 25 additions and 1 deletions
@@ -848,6 +848,10 @@
Format:
<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
cpufreq_driver= [X86] Allow only the named cpu frequency scaling driver
to register. Example: cpufreq_driver=powernow-k8
Format: { none | STRING }
cpuidle.off=1 [CPU_IDLE]
disable the cpuidle sub-system
+21 -1
View File
@@ -2841,6 +2841,20 @@ static int cpuhp_cpufreq_offline(unsigned int cpu)
return 0;
}
static char cpufreq_driver_name[CPUFREQ_NAME_LEN];
static int __init cpufreq_driver_setup(char *str)
{
strlcpy(cpufreq_driver_name, str, CPUFREQ_NAME_LEN);
return 1;
}
/*
* Set this name to only allow one specific cpu freq driver, e.g.,
* cpufreq_driver=powernow-k8
*/
__setup("cpufreq_driver=", cpufreq_driver_setup);
/**
* cpufreq_register_driver - register a CPU Frequency driver
* @driver_data: A struct cpufreq_driver containing the values#
@@ -2876,7 +2890,13 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
(driver_data->adjust_perf && !driver_data->fast_switch))
return -EINVAL;
pr_debug("trying to register driver %s\n", driver_data->name);
pr_debug("trying to register driver %s, cpufreq_driver=%s\n",
driver_data->name, cpufreq_driver_name);
if (cpufreq_driver_name[0])
if (!driver_data->name ||
strcmp(cpufreq_driver_name, driver_data->name))
return -EINVAL;
/* Protect against concurrent CPU online/offline. */
cpus_read_lock();