From 5beae3b9b6f5479998310a849f73aa32a637dd3b Mon Sep 17 00:00:00 2001 From: Donggeun Kim Date: Tue, 19 Jul 2011 14:41:57 +0900 Subject: [CPUFREQ] exynos4210: Show list of available frequencies This patch enables 'scaling_available_frequencies' attribute showing list of available frequencies. Signed-off-by: Donggeun Kim Signed-off-by: MyungJoo Ham Signed-off-by: KyungMin Park Signed-off-by: Dave Jones --- drivers/cpufreq/exynos4210-cpufreq.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'drivers/cpufreq/exynos4210-cpufreq.c') diff --git a/drivers/cpufreq/exynos4210-cpufreq.c b/drivers/cpufreq/exynos4210-cpufreq.c index b7c3a84c4cfa..6f887573ce94 100644 --- a/drivers/cpufreq/exynos4210-cpufreq.c +++ b/drivers/cpufreq/exynos4210-cpufreq.c @@ -464,6 +464,8 @@ static int exynos4_cpufreq_resume(struct cpufreq_policy *policy) static int exynos4_cpufreq_cpu_init(struct cpufreq_policy *policy) { + int ret; + policy->cur = policy->min = policy->max = exynos4_getspeed(policy->cpu); cpufreq_frequency_table_get_attr(exynos4_freq_table, policy->cpu); @@ -479,16 +481,35 @@ static int exynos4_cpufreq_cpu_init(struct cpufreq_policy *policy) */ cpumask_setall(policy->cpus); - return cpufreq_frequency_table_cpuinfo(policy, exynos4_freq_table); + ret = cpufreq_frequency_table_cpuinfo(policy, exynos4_freq_table); + if (ret) + return ret; + + cpufreq_frequency_table_get_attr(exynos4_freq_table, policy->cpu); + + return 0; } +static int exynos4_cpufreq_cpu_exit(struct cpufreq_policy *policy) +{ + cpufreq_frequency_table_put_attr(policy->cpu); + return 0; +} + +static struct freq_attr *exynos4_cpufreq_attr[] = { + &cpufreq_freq_attr_scaling_available_freqs, + NULL, +}; + static struct cpufreq_driver exynos4_driver = { .flags = CPUFREQ_STICKY, .verify = exynos4_verify_speed, .target = exynos4_target, .get = exynos4_getspeed, .init = exynos4_cpufreq_cpu_init, + .exit = exynos4_cpufreq_cpu_exit, .name = "exynos4_cpufreq", + .attr = exynos4_cpufreq_attr, #ifdef CONFIG_PM .suspend = exynos4_cpufreq_suspend, .resume = exynos4_cpufreq_resume, -- cgit v1.2.3