cpufreq: spear: Use generic cpufreq routines
Most of the CPUFreq drivers do similar things in .exit() and .verify() routines and .attr. So its better if we have generic routines for them which can be used by cpufreq drivers then. This patch uses these generic routines in the spear driver. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
7a1874a064
Коммит
e2132fa66d
|
@ -30,11 +30,6 @@ static struct {
|
|||
u32 cnt;
|
||||
} spear_cpufreq;
|
||||
|
||||
static int spear_cpufreq_verify(struct cpufreq_policy *policy)
|
||||
{
|
||||
return cpufreq_frequency_table_verify(policy, spear_cpufreq.freq_tbl);
|
||||
}
|
||||
|
||||
static unsigned int spear_cpufreq_get(unsigned int cpu)
|
||||
{
|
||||
return clk_get_rate(spear_cpufreq.clk) / 1000;
|
||||
|
@ -192,26 +187,15 @@ static int spear_cpufreq_init(struct cpufreq_policy *policy)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int spear_cpufreq_exit(struct cpufreq_policy *policy)
|
||||
{
|
||||
cpufreq_frequency_table_put_attr(policy->cpu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct freq_attr *spear_cpufreq_attr[] = {
|
||||
&cpufreq_freq_attr_scaling_available_freqs,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static struct cpufreq_driver spear_cpufreq_driver = {
|
||||
.name = "cpufreq-spear",
|
||||
.flags = CPUFREQ_STICKY,
|
||||
.verify = spear_cpufreq_verify,
|
||||
.verify = cpufreq_generic_frequency_table_verify,
|
||||
.target = spear_cpufreq_target,
|
||||
.get = spear_cpufreq_get,
|
||||
.init = spear_cpufreq_init,
|
||||
.exit = spear_cpufreq_exit,
|
||||
.attr = spear_cpufreq_attr,
|
||||
.exit = cpufreq_generic_exit,
|
||||
.attr = cpufreq_generic_attr,
|
||||
};
|
||||
|
||||
static int spear_cpufreq_driver_init(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче