aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-10-03 10:58:23 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-15 18:50:27 -0400
commitdd9f263956727320a2bcba8ffae7e9ab4a5be8a6 (patch)
tree7625e8f1e7aba5ebf75001f1f1af9fb64337aa5f
parent9c3c6e337d022291da119c9b5a210eae93884ec4 (diff)
cpufreq: sa11x0: 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 sa11x0 driver. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--arch/arm/mach-sa1100/generic.c22
-rw-r--r--arch/arm/mach-sa1100/generic.h1
-rw-r--r--drivers/cpufreq/sa1100-cpufreq.c2
-rw-r--r--drivers/cpufreq/sa1110-cpufreq.c2
4 files changed, 2 insertions, 25 deletions
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
index 5c8167b05c26..cb4b2ca3cf6b 100644
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -82,28 +82,6 @@ unsigned int sa11x0_ppcr_to_freq(unsigned int idx)
82 return freq; 82 return freq;
83} 83}
84 84
85
86/* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on
87 * this platform, anyway.
88 */
89int sa11x0_verify_speed(struct cpufreq_policy *policy)
90{
91 unsigned int tmp;
92 if (policy->cpu)
93 return -EINVAL;
94
95 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, policy->cpuinfo.max_freq);
96
97 /* make sure that at least one frequency is within the policy */
98 tmp = sa11x0_freq_table[sa11x0_freq_to_ppcr(policy->min)].frequency;
99 if (tmp > policy->max)
100 policy->max = tmp;
101
102 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, policy->cpuinfo.max_freq);
103
104 return 0;
105}
106
107unsigned int sa11x0_getspeed(unsigned int cpu) 85unsigned int sa11x0_getspeed(unsigned int cpu)
108{ 86{
109 if (cpu) 87 if (cpu)
diff --git a/arch/arm/mach-sa1100/generic.h b/arch/arm/mach-sa1100/generic.h
index f5214ce494ab..39d56a676566 100644
--- a/arch/arm/mach-sa1100/generic.h
+++ b/arch/arm/mach-sa1100/generic.h
@@ -23,7 +23,6 @@ struct cpufreq_policy;
23 23
24extern struct cpufreq_frequency_table sa11x0_freq_table[]; 24extern struct cpufreq_frequency_table sa11x0_freq_table[];
25extern unsigned int sa11x0_freq_to_ppcr(unsigned int khz); 25extern unsigned int sa11x0_freq_to_ppcr(unsigned int khz);
26extern int sa11x0_verify_speed(struct cpufreq_policy *policy);
27extern unsigned int sa11x0_getspeed(unsigned int cpu); 26extern unsigned int sa11x0_getspeed(unsigned int cpu);
28extern unsigned int sa11x0_ppcr_to_freq(unsigned int idx); 27extern unsigned int sa11x0_ppcr_to_freq(unsigned int idx);
29 28
diff --git a/drivers/cpufreq/sa1100-cpufreq.c b/drivers/cpufreq/sa1100-cpufreq.c
index 37fce2f15711..80a4fde0021f 100644
--- a/drivers/cpufreq/sa1100-cpufreq.c
+++ b/drivers/cpufreq/sa1100-cpufreq.c
@@ -228,7 +228,7 @@ static int __init sa1100_cpu_init(struct cpufreq_policy *policy)
228 228
229static struct cpufreq_driver sa1100_driver __refdata = { 229static struct cpufreq_driver sa1100_driver __refdata = {
230 .flags = CPUFREQ_STICKY, 230 .flags = CPUFREQ_STICKY,
231 .verify = sa11x0_verify_speed, 231 .verify = cpufreq_generic_frequency_table_verify,
232 .target = sa1100_target, 232 .target = sa1100_target,
233 .get = sa11x0_getspeed, 233 .get = sa11x0_getspeed,
234 .init = sa1100_cpu_init, 234 .init = sa1100_cpu_init,
diff --git a/drivers/cpufreq/sa1110-cpufreq.c b/drivers/cpufreq/sa1110-cpufreq.c
index 13760fc63859..a38d904d168e 100644
--- a/drivers/cpufreq/sa1110-cpufreq.c
+++ b/drivers/cpufreq/sa1110-cpufreq.c
@@ -344,7 +344,7 @@ static int __init sa1110_cpu_init(struct cpufreq_policy *policy)
344 * it with cpufreq_register_driver() */ 344 * it with cpufreq_register_driver() */
345static struct cpufreq_driver sa1110_driver __refdata = { 345static struct cpufreq_driver sa1110_driver __refdata = {
346 .flags = CPUFREQ_STICKY, 346 .flags = CPUFREQ_STICKY,
347 .verify = sa11x0_verify_speed, 347 .verify = cpufreq_generic_frequency_table_verify,
348 .target = sa1110_target, 348 .target = sa1110_target,
349 .get = sa11x0_getspeed, 349 .get = sa11x0_getspeed,
350 .init = sa1110_cpu_init, 350 .init = sa1110_cpu_init,