summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cris-artpec3-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/cris-artpec3-cpufreq.c')
-rw-r--r--drivers/cpufreq/cris-artpec3-cpufreq.c38
1 files changed, 4 insertions, 34 deletions
diff --git a/drivers/cpufreq/cris-artpec3-cpufreq.c b/drivers/cpufreq/cris-artpec3-cpufreq.c
index cb8276dd19ca..05fdc7e40257 100644
--- a/drivers/cpufreq/cris-artpec3-cpufreq.c
+++ b/drivers/cpufreq/cris-artpec3-cpufreq.c
@@ -54,11 +54,6 @@ static void cris_freq_set_cpu_state(struct cpufreq_policy *policy,
54 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 54 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
55}; 55};
56 56
57static int cris_freq_verify(struct cpufreq_policy *policy)
58{
59 return cpufreq_frequency_table_verify(policy, &cris_freq_table[0]);
60}
61
62static int cris_freq_target(struct cpufreq_policy *policy, 57static int cris_freq_target(struct cpufreq_policy *policy,
63 unsigned int target_freq, 58 unsigned int target_freq,
64 unsigned int relation) 59 unsigned int relation)
@@ -76,42 +71,17 @@ static int cris_freq_target(struct cpufreq_policy *policy,
76 71
77static int cris_freq_cpu_init(struct cpufreq_policy *policy) 72static int cris_freq_cpu_init(struct cpufreq_policy *policy)
78{ 73{
79 int result; 74 return cpufreq_generic_init(policy, cris_freq_table, 1000000);
80
81 /* cpuinfo and default policy values */
82 policy->cpuinfo.transition_latency = 1000000; /* 1ms */
83 policy->cur = cris_freq_get_cpu_frequency(0);
84
85 result = cpufreq_frequency_table_cpuinfo(policy, cris_freq_table);
86 if (result)
87 return (result);
88
89 cpufreq_frequency_table_get_attr(cris_freq_table, policy->cpu);
90
91 return 0;
92}
93
94
95static int cris_freq_cpu_exit(struct cpufreq_policy *policy)
96{
97 cpufreq_frequency_table_put_attr(policy->cpu);
98 return 0;
99} 75}
100 76
101
102static struct freq_attr *cris_freq_attr[] = {
103 &cpufreq_freq_attr_scaling_available_freqs,
104 NULL,
105};
106
107static struct cpufreq_driver cris_freq_driver = { 77static struct cpufreq_driver cris_freq_driver = {
108 .get = cris_freq_get_cpu_frequency, 78 .get = cris_freq_get_cpu_frequency,
109 .verify = cris_freq_verify, 79 .verify = cpufreq_generic_frequency_table_verify,
110 .target = cris_freq_target, 80 .target = cris_freq_target,
111 .init = cris_freq_cpu_init, 81 .init = cris_freq_cpu_init,
112 .exit = cris_freq_cpu_exit, 82 .exit = cpufreq_generic_exit,
113 .name = "cris_freq", 83 .name = "cris_freq",
114 .attr = cris_freq_attr, 84 .attr = cpufreq_generic_attr,
115}; 85};
116 86
117static int __init cris_freq_init(void) 87static int __init cris_freq_init(void)