summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/at32ap-cpufreq.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-10-03 16:58:33 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-16 00:50:28 +0200
commit017189b51e0eecd58cf4f65f6f16d59dae6c1368 (patch)
treee80e54c08a40e073c521df386d83bed8de6c35bb /drivers/cpufreq/at32ap-cpufreq.c
parentcpufreq: arm_big_little: don't initialize part of policy is set by core (diff)
downloadlinux-017189b51e0eecd58cf4f65f6f16d59dae6c1368.tar.xz
linux-017189b51e0eecd58cf4f65f6f16d59dae6c1368.zip
cpufreq: at32ap: don't initialize part of policy set by core
Many common initializations of struct policy are moved to core now and hence this driver doesn't need to do it. This patch removes such code. Most recent of those changes is to call ->get() in the core after calling ->init(). Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/at32ap-cpufreq.c')
-rw-r--r--drivers/cpufreq/at32ap-cpufreq.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/cpufreq/at32ap-cpufreq.c b/drivers/cpufreq/at32ap-cpufreq.c
index 788f7e77565d..7439deddd5cf 100644
--- a/drivers/cpufreq/at32ap-cpufreq.c
+++ b/drivers/cpufreq/at32ap-cpufreq.c
@@ -77,7 +77,7 @@ static int at32_set_target(struct cpufreq_policy *policy,
static int __init at32_cpufreq_driver_init(struct cpufreq_policy *policy)
{
- unsigned int frequency, rate;
+ unsigned int frequency, rate, min_freq;
int retval, steps, i;
if (policy->cpu != 0)
@@ -90,12 +90,9 @@ static int __init at32_cpufreq_driver_init(struct cpufreq_policy *policy)
goto out_err;
}
- policy->cpuinfo.min_freq = (clk_round_rate(cpuclk, 1) + 500) / 1000;
- policy->cpuinfo.max_freq = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
+ min_freq = (clk_round_rate(cpuclk, 1) + 500) / 1000;
+ frequency = (clk_round_rate(cpuclk, ~0UL) + 500) / 1000;
policy->cpuinfo.transition_latency = 0;
- policy->cur = at32_get_speed(0);
- policy->min = policy->cpuinfo.min_freq;
- policy->max = policy->cpuinfo.max_freq;
/*
* AVR32 CPU frequency rate scales in power of two between maximum and
@@ -104,7 +101,7 @@ static int __init at32_cpufreq_driver_init(struct cpufreq_policy *policy)
* Further validate that the frequency is usable, and append it to the
* frequency table.
*/
- steps = fls(policy->cpuinfo.max_freq / policy->cpuinfo.min_freq) + 1;
+ steps = fls(frequency / min_freq) + 1;
freq_table = kzalloc(steps * sizeof(struct cpufreq_frequency_table),
GFP_KERNEL);
if (!freq_table) {
@@ -112,7 +109,6 @@ static int __init at32_cpufreq_driver_init(struct cpufreq_policy *policy)
goto out_err_put_clk;
}
- frequency = policy->cpuinfo.max_freq;
for (i = 0; i < (steps - 1); i++) {
rate = clk_round_rate(cpuclk, frequency * 1000) / 1000;