mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
cpufreq: acpi-cpufreq: Use cpufreq_cpu_get_raw() in ->get()
cpufreq_cpu_get() called by get_cur_freq_on_cpu() is overkill, because the ->get() callback is always invoked in a context in which all of the conditions checked by cpufreq_cpu_get() are guaranteed to be satisfied. Use cpufreq_cpu_get_raw() instead of it and drop the corresponding cpufreq_cpu_put() from get_cur_freq_on_cpu(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
parent
6ff33f3902
commit
1f0bd44e93
3 changed files with 8 additions and 4 deletions
|
@ -375,12 +375,11 @@ static unsigned int get_cur_freq_on_cpu(unsigned int cpu)
|
||||||
|
|
||||||
pr_debug("get_cur_freq_on_cpu (%d)\n", cpu);
|
pr_debug("get_cur_freq_on_cpu (%d)\n", cpu);
|
||||||
|
|
||||||
policy = cpufreq_cpu_get(cpu);
|
policy = cpufreq_cpu_get_raw(cpu);
|
||||||
if (unlikely(!policy))
|
if (unlikely(!policy))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
data = policy->driver_data;
|
data = policy->driver_data;
|
||||||
cpufreq_cpu_put(policy);
|
|
||||||
if (unlikely(!data || !data->freq_table))
|
if (unlikely(!data || !data->freq_table))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -238,13 +238,13 @@ int cpufreq_generic_init(struct cpufreq_policy *policy,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(cpufreq_generic_init);
|
EXPORT_SYMBOL_GPL(cpufreq_generic_init);
|
||||||
|
|
||||||
/* Only for cpufreq core internal use */
|
struct cpufreq_policy *cpufreq_cpu_get_raw(unsigned int cpu)
|
||||||
static struct cpufreq_policy *cpufreq_cpu_get_raw(unsigned int cpu)
|
|
||||||
{
|
{
|
||||||
struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu);
|
struct cpufreq_policy *policy = per_cpu(cpufreq_cpu_data, cpu);
|
||||||
|
|
||||||
return policy && cpumask_test_cpu(cpu, policy->cpus) ? policy : NULL;
|
return policy && cpumask_test_cpu(cpu, policy->cpus) ? policy : NULL;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(cpufreq_cpu_get_raw);
|
||||||
|
|
||||||
unsigned int cpufreq_generic_get(unsigned int cpu)
|
unsigned int cpufreq_generic_get(unsigned int cpu)
|
||||||
{
|
{
|
||||||
|
|
|
@ -127,9 +127,14 @@ struct cpufreq_policy {
|
||||||
#define CPUFREQ_SHARED_TYPE_ANY (3) /* Freq can be set from any dependent CPU*/
|
#define CPUFREQ_SHARED_TYPE_ANY (3) /* Freq can be set from any dependent CPU*/
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ
|
#ifdef CONFIG_CPU_FREQ
|
||||||
|
struct cpufreq_policy *cpufreq_cpu_get_raw(unsigned int cpu);
|
||||||
struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu);
|
struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu);
|
||||||
void cpufreq_cpu_put(struct cpufreq_policy *policy);
|
void cpufreq_cpu_put(struct cpufreq_policy *policy);
|
||||||
#else
|
#else
|
||||||
|
static inline struct cpufreq_policy *cpufreq_cpu_get_raw(unsigned int cpu)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
static inline struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu)
|
static inline struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Add table
Reference in a new issue