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:
committed by
Paolo Pisati
parent
114c27a7c3
commit
12fdc5c1ca
@@ -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
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user