summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/pasemi-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/pasemi-cpufreq.c')
-rw-r--r--drivers/cpufreq/pasemi-cpufreq.c25
1 files changed, 3 insertions, 22 deletions
diff --git a/drivers/cpufreq/pasemi-cpufreq.c b/drivers/cpufreq/pasemi-cpufreq.c
index 534e43a60d1f..1cca332728c3 100644
--- a/drivers/cpufreq/pasemi-cpufreq.c
+++ b/drivers/cpufreq/pasemi-cpufreq.c
@@ -69,11 +69,6 @@ static struct cpufreq_frequency_table pas_freqs[] = {
69 {0, CPUFREQ_TABLE_END}, 69 {0, CPUFREQ_TABLE_END},
70}; 70};
71 71
72static struct freq_attr *pas_cpu_freqs_attr[] = {
73 &cpufreq_freq_attr_scaling_available_freqs,
74 NULL,
75};
76
77/* 72/*
78 * hardware specific functions 73 * hardware specific functions
79 */ 74 */
@@ -209,22 +204,13 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
209 pr_debug("%d: %d\n", i, pas_freqs[i].frequency); 204 pr_debug("%d: %d\n", i, pas_freqs[i].frequency);
210 } 205 }
211 206
212 policy->cpuinfo.transition_latency = get_gizmo_latency();
213
214 cur_astate = get_cur_astate(policy->cpu); 207 cur_astate = get_cur_astate(policy->cpu);
215 pr_debug("current astate is at %d\n",cur_astate); 208 pr_debug("current astate is at %d\n",cur_astate);
216 209
217 policy->cur = pas_freqs[cur_astate].frequency; 210 policy->cur = pas_freqs[cur_astate].frequency;
218 cpumask_copy(policy->cpus, cpu_online_mask);
219
220 ppc_proc_freq = policy->cur * 1000ul; 211 ppc_proc_freq = policy->cur * 1000ul;
221 212
222 cpufreq_frequency_table_get_attr(pas_freqs, policy->cpu); 213 return cpufreq_generic_init(policy, pas_freqs, get_gizmo_latency());
223
224 /* this ensures that policy->cpuinfo_min and policy->cpuinfo_max
225 * are set correctly
226 */
227 return cpufreq_frequency_table_cpuinfo(policy, pas_freqs);
228 214
229out_unmap_sdcpwr: 215out_unmap_sdcpwr:
230 iounmap(sdcpwr_mapbase); 216 iounmap(sdcpwr_mapbase);
@@ -253,11 +239,6 @@ static int pas_cpufreq_cpu_exit(struct cpufreq_policy *policy)
253 return 0; 239 return 0;
254} 240}
255 241
256static int pas_cpufreq_verify(struct cpufreq_policy *policy)
257{
258 return cpufreq_frequency_table_verify(policy, pas_freqs);
259}
260
261static int pas_cpufreq_target(struct cpufreq_policy *policy, 242static int pas_cpufreq_target(struct cpufreq_policy *policy,
262 unsigned int target_freq, 243 unsigned int target_freq,
263 unsigned int relation) 244 unsigned int relation)
@@ -300,9 +281,9 @@ static struct cpufreq_driver pas_cpufreq_driver = {
300 .flags = CPUFREQ_CONST_LOOPS, 281 .flags = CPUFREQ_CONST_LOOPS,
301 .init = pas_cpufreq_cpu_init, 282 .init = pas_cpufreq_cpu_init,
302 .exit = pas_cpufreq_cpu_exit, 283 .exit = pas_cpufreq_cpu_exit,
303 .verify = pas_cpufreq_verify, 284 .verify = cpufreq_generic_frequency_table_verify,
304 .target = pas_cpufreq_target, 285 .target = pas_cpufreq_target,
305 .attr = pas_cpu_freqs_attr, 286 .attr = cpufreq_generic_attr,
306}; 287};
307 288
308/* 289/*