aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/kirkwood-cpufreq.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-10-03 10:58:09 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-15 18:50:25 -0400
commita86a41a13e7971c85a6dc2c6865ff7747397ef21 (patch)
treed8125a74aef6009f520395cb45996590b8817f40 /drivers/cpufreq/kirkwood-cpufreq.c
parent4f6ba385e9db26536e5dbee81a3ae83ec126fa07 (diff)
cpufreq: kirkwood: 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 kirkwood driver. Tested-by: Andrew Lunn <andrew@lunn.ch> 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/kirkwood-cpufreq.c')
-rw-r--r--drivers/cpufreq/kirkwood-cpufreq.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/cpufreq/kirkwood-cpufreq.c b/drivers/cpufreq/kirkwood-cpufreq.c
index 59cbb351fc6e..1a4e4f4420a7 100644
--- a/drivers/cpufreq/kirkwood-cpufreq.c
+++ b/drivers/cpufreq/kirkwood-cpufreq.c
@@ -102,11 +102,6 @@ static void kirkwood_cpufreq_set_cpu_state(struct cpufreq_policy *policy,
102 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 102 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
103}; 103};
104 104
105static int kirkwood_cpufreq_verify(struct cpufreq_policy *policy)
106{
107 return cpufreq_frequency_table_verify(policy, kirkwood_freq_table);
108}
109
110static int kirkwood_cpufreq_target(struct cpufreq_policy *policy, 105static int kirkwood_cpufreq_target(struct cpufreq_policy *policy,
111 unsigned int target_freq, 106 unsigned int target_freq,
112 unsigned int relation) 107 unsigned int relation)
@@ -132,25 +127,14 @@ static int kirkwood_cpufreq_cpu_init(struct cpufreq_policy *policy)
132 return cpufreq_table_validate_and_show(policy, kirkwood_freq_table); 127 return cpufreq_table_validate_and_show(policy, kirkwood_freq_table);
133} 128}
134 129
135static int kirkwood_cpufreq_cpu_exit(struct cpufreq_policy *policy)
136{
137 cpufreq_frequency_table_put_attr(policy->cpu);
138 return 0;
139}
140
141static struct freq_attr *kirkwood_cpufreq_attr[] = {
142 &cpufreq_freq_attr_scaling_available_freqs,
143 NULL,
144};
145
146static struct cpufreq_driver kirkwood_cpufreq_driver = { 130static struct cpufreq_driver kirkwood_cpufreq_driver = {
147 .get = kirkwood_cpufreq_get_cpu_frequency, 131 .get = kirkwood_cpufreq_get_cpu_frequency,
148 .verify = kirkwood_cpufreq_verify, 132 .verify = cpufreq_generic_frequency_table_verify,
149 .target = kirkwood_cpufreq_target, 133 .target = kirkwood_cpufreq_target,
150 .init = kirkwood_cpufreq_cpu_init, 134 .init = kirkwood_cpufreq_cpu_init,
151 .exit = kirkwood_cpufreq_cpu_exit, 135 .exit = cpufreq_generic_exit,
152 .name = "kirkwood-cpufreq", 136 .name = "kirkwood-cpufreq",
153 .attr = kirkwood_cpufreq_attr, 137 .attr = cpufreq_generic_attr,
154}; 138};
155 139
156static int kirkwood_cpufreq_probe(struct platform_device *pdev) 140static int kirkwood_cpufreq_probe(struct platform_device *pdev)