Commit eea6181ed2904f379497918a032588f5e74566e4
Committed by
Rafael J. Wysocki
1 parent
06494eb783
Exists in
master
and in
16 other branches
cpufreq: exynos: 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 exynos driver. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-By: Amit Daniel Kachhap <amit.daniel@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Showing 2 changed files with 5 additions and 34 deletions Side-by-side Diff
drivers/cpufreq/exynos-cpufreq.c
... | ... | @@ -31,12 +31,6 @@ |
31 | 31 | static bool frequency_locked; |
32 | 32 | static DEFINE_MUTEX(cpufreq_lock); |
33 | 33 | |
34 | -static int exynos_verify_speed(struct cpufreq_policy *policy) | |
35 | -{ | |
36 | - return cpufreq_frequency_table_verify(policy, | |
37 | - exynos_info->freq_table); | |
38 | -} | |
39 | - | |
40 | 34 | static unsigned int exynos_getspeed(unsigned int cpu) |
41 | 35 | { |
42 | 36 | return clk_get_rate(exynos_info->cpu_clk) / 1000; |
43 | 37 | |
44 | 38 | |
45 | 39 | |
... | ... | @@ -257,26 +251,15 @@ |
257 | 251 | return cpufreq_table_validate_and_show(policy, exynos_info->freq_table); |
258 | 252 | } |
259 | 253 | |
260 | -static int exynos_cpufreq_cpu_exit(struct cpufreq_policy *policy) | |
261 | -{ | |
262 | - cpufreq_frequency_table_put_attr(policy->cpu); | |
263 | - return 0; | |
264 | -} | |
265 | - | |
266 | -static struct freq_attr *exynos_cpufreq_attr[] = { | |
267 | - &cpufreq_freq_attr_scaling_available_freqs, | |
268 | - NULL, | |
269 | -}; | |
270 | - | |
271 | 254 | static struct cpufreq_driver exynos_driver = { |
272 | 255 | .flags = CPUFREQ_STICKY, |
273 | - .verify = exynos_verify_speed, | |
256 | + .verify = cpufreq_generic_frequency_table_verify, | |
274 | 257 | .target = exynos_target, |
275 | 258 | .get = exynos_getspeed, |
276 | 259 | .init = exynos_cpufreq_cpu_init, |
277 | - .exit = exynos_cpufreq_cpu_exit, | |
260 | + .exit = cpufreq_generic_exit, | |
278 | 261 | .name = "exynos_cpufreq", |
279 | - .attr = exynos_cpufreq_attr, | |
262 | + .attr = cpufreq_generic_attr, | |
280 | 263 | #ifdef CONFIG_PM |
281 | 264 | .suspend = exynos_cpufreq_suspend, |
282 | 265 | .resume = exynos_cpufreq_resume, |
drivers/cpufreq/exynos5440-cpufreq.c
... | ... | @@ -209,12 +209,6 @@ |
209 | 209 | dvfs_info->base + XMU_DVFS_CTRL); |
210 | 210 | } |
211 | 211 | |
212 | -static int exynos_verify_speed(struct cpufreq_policy *policy) | |
213 | -{ | |
214 | - return cpufreq_frequency_table_verify(policy, | |
215 | - dvfs_info->freq_table); | |
216 | -} | |
217 | - | |
218 | 212 | static unsigned int exynos_getspeed(unsigned int cpu) |
219 | 213 | { |
220 | 214 | return dvfs_info->cur_frequency; |
221 | 215 | |
222 | 216 | |
... | ... | @@ -339,19 +333,13 @@ |
339 | 333 | return 0; |
340 | 334 | } |
341 | 335 | |
342 | -static int exynos_cpufreq_cpu_exit(struct cpufreq_policy *policy) | |
343 | -{ | |
344 | - cpufreq_frequency_table_put_attr(policy->cpu); | |
345 | - return 0; | |
346 | -} | |
347 | - | |
348 | 336 | static struct cpufreq_driver exynos_driver = { |
349 | 337 | .flags = CPUFREQ_STICKY, |
350 | - .verify = exynos_verify_speed, | |
338 | + .verify = cpufreq_generic_frequency_table_verify, | |
351 | 339 | .target = exynos_target, |
352 | 340 | .get = exynos_getspeed, |
353 | 341 | .init = exynos_cpufreq_cpu_init, |
354 | - .exit = exynos_cpufreq_cpu_exit, | |
342 | + .exit = cpufreq_generic_exit, | |
355 | 343 | .name = CPUFREQ_NAME, |
356 | 344 | }; |
357 | 345 |