mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
ARM: pxa: reduce the scope of get_clk_frequency_khz()
get_clk_frequency_khz() is used in private cpufreq driver. In order to meet the change of different pxa silicons, checking cpuid is introduced in get_clk_frequency_khz(). While more pxa silicons are supported, the workload of checking cpuid is higher. So restrict the scope of get_clk_frequency_khz() on pxa2xx. Different pxa silcions use different private cpufreq driver to avoid too much checking on cpuid. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Cc: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
This commit is contained in:
parent
759305c62f
commit
ecf89b8a91
@ -159,7 +159,7 @@ static int pxa3xx_cpufreq_verify(struct cpufreq_policy *policy)
|
||||
|
||||
static unsigned int pxa3xx_cpufreq_get(unsigned int cpu)
|
||||
{
|
||||
return get_clk_frequency_khz(0);
|
||||
return pxa3xx_get_clk_frequency_khz(0);
|
||||
}
|
||||
|
||||
static int pxa3xx_cpufreq_set(struct cpufreq_policy *policy,
|
||||
@ -212,7 +212,8 @@ static int pxa3xx_cpufreq_init(struct cpufreq_policy *policy)
|
||||
policy->cpuinfo.min_freq = 104000;
|
||||
policy->cpuinfo.max_freq = (cpu_is_pxa320()) ? 806000 : 624000;
|
||||
policy->cpuinfo.transition_latency = 1000; /* FIXME: 1 ms, assumed */
|
||||
policy->cur = policy->min = policy->max = get_clk_frequency_khz(0);
|
||||
policy->max = pxa3xx_get_clk_frequency_khz(0);
|
||||
policy->cur = policy->min = policy->max;
|
||||
|
||||
if (cpu_is_pxa300() || cpu_is_pxa310())
|
||||
ret = setup_freqs_table(policy, ARRAY_AND_SIZE(pxa300_freqs));
|
||||
|
@ -66,8 +66,7 @@ unsigned int get_clk_frequency_khz(int info)
|
||||
return pxa25x_get_clk_frequency_khz(info);
|
||||
else if (cpu_is_pxa27x())
|
||||
return pxa27x_get_clk_frequency_khz(info);
|
||||
else
|
||||
return pxa3xx_get_clk_frequency_khz(info);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(get_clk_frequency_khz);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user