Commit eea6181ed2904f379497918a032588f5e74566e4

Authored by Viresh Kumar
Committed by Rafael J. Wysocki
1 parent 06494eb783

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