summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/cris-etraxfs-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/cris-etraxfs-cpufreq.c')
-rw-r--r--drivers/cpufreq/cris-etraxfs-cpufreq.c36
1 files changed, 4 insertions, 32 deletions
diff --git a/drivers/cpufreq/cris-etraxfs-cpufreq.c b/drivers/cpufreq/cris-etraxfs-cpufreq.c
index 72328f77dc53..fac2b26932dd 100644
--- a/drivers/cpufreq/cris-etraxfs-cpufreq.c
+++ b/drivers/cpufreq/cris-etraxfs-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, unsigned int relation) 58 unsigned int target_freq, unsigned int relation)
64{ 59{
@@ -75,40 +70,17 @@ static int cris_freq_target(struct cpufreq_policy *policy,
75 70
76static int cris_freq_cpu_init(struct cpufreq_policy *policy) 71static int cris_freq_cpu_init(struct cpufreq_policy *policy)
77{ 72{
78 int result; 73 return cpufreq_generic_init(policy, cris_freq_table, 1000000);
79
80 /* cpuinfo and default policy values */
81 policy->cpuinfo.transition_latency = 1000000; /* 1ms */
82 policy->cur = cris_freq_get_cpu_frequency(0);
83
84 result = cpufreq_frequency_table_cpuinfo(policy, cris_freq_table);
85 if (result)
86 return (result);
87
88 cpufreq_frequency_table_get_attr(cris_freq_table, policy->cpu);
89
90 return 0;
91}
92
93static int cris_freq_cpu_exit(struct cpufreq_policy *policy)
94{
95 cpufreq_frequency_table_put_attr(policy->cpu);
96 return 0;
97} 74}
98 75
99static struct freq_attr *cris_freq_attr[] = {
100 &cpufreq_freq_attr_scaling_available_freqs,
101 NULL,
102};
103
104static struct cpufreq_driver cris_freq_driver = { 76static struct cpufreq_driver cris_freq_driver = {
105 .get = cris_freq_get_cpu_frequency, 77 .get = cris_freq_get_cpu_frequency,
106 .verify = cris_freq_verify, 78 .verify = cpufreq_generic_frequency_table_verify,
107 .target = cris_freq_target, 79 .target = cris_freq_target,
108 .init = cris_freq_cpu_init, 80 .init = cris_freq_cpu_init,
109 .exit = cris_freq_cpu_exit, 81 .exit = cpufreq_generic_exit,
110 .name = "cris_freq", 82 .name = "cris_freq",
111 .attr = cris_freq_attr, 83 .attr = cpufreq_generic_attr,
112}; 84};
113 85
114static int __init cris_freq_init(void) 86static int __init cris_freq_init(void)