aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/sparc-us3-cpufreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/cpufreq/sparc-us3-cpufreq.c')
-rw-r--r--drivers/cpufreq/sparc-us3-cpufreq.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/cpufreq/sparc-us3-cpufreq.c b/drivers/cpufreq/sparc-us3-cpufreq.c
index 9b3dbd31362e..2e54d55915df 100644
--- a/drivers/cpufreq/sparc-us3-cpufreq.c
+++ b/drivers/cpufreq/sparc-us3-cpufreq.c
@@ -93,8 +93,7 @@ static unsigned int us3_freq_get(unsigned int cpu)
93 return ret; 93 return ret;
94} 94}
95 95
96static void us3_set_cpu_divider_index(struct cpufreq_policy *policy, 96static int us3_freq_target(struct cpufreq_policy *policy, unsigned int index)
97 unsigned int index)
98{ 97{
99 unsigned int cpu = policy->cpu; 98 unsigned int cpu = policy->cpu;
100 unsigned long new_bits, new_freq, reg; 99 unsigned long new_bits, new_freq, reg;
@@ -136,22 +135,6 @@ static void us3_set_cpu_divider_index(struct cpufreq_policy *policy,
136 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE); 135 cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
137 136
138 set_cpus_allowed_ptr(current, &cpus_allowed); 137 set_cpus_allowed_ptr(current, &cpus_allowed);
139}
140
141static int us3_freq_target(struct cpufreq_policy *policy,
142 unsigned int target_freq,
143 unsigned int relation)
144{
145 unsigned int new_index = 0;
146
147 if (cpufreq_frequency_table_target(policy,
148 &us3_freq_table[policy->cpu].table[0],
149 target_freq,
150 relation,
151 &new_index))
152 return -EINVAL;
153
154 us3_set_cpu_divider_index(policy, new_index);
155 138
156 return 0; 139 return 0;
157} 140}
@@ -182,7 +165,7 @@ static int us3_freq_cpu_exit(struct cpufreq_policy *policy)
182{ 165{
183 if (cpufreq_us3_driver) { 166 if (cpufreq_us3_driver) {
184 cpufreq_frequency_table_put_attr(policy->cpu); 167 cpufreq_frequency_table_put_attr(policy->cpu);
185 us3_set_cpu_divider_index(policy, 0); 168 us3_freq_target(policy, 0);
186 } 169 }
187 170
188 return 0; 171 return 0;
@@ -219,7 +202,7 @@ static int __init us3_freq_init(void)
219 202
220 driver->init = us3_freq_cpu_init; 203 driver->init = us3_freq_cpu_init;
221 driver->verify = cpufreq_generic_frequency_table_verify; 204 driver->verify = cpufreq_generic_frequency_table_verify;
222 driver->target = us3_freq_target; 205 driver->target_index = us3_freq_target;
223 driver->get = us3_freq_get; 206 driver->get = us3_freq_get;
224 driver->exit = us3_freq_cpu_exit; 207 driver->exit = us3_freq_cpu_exit;
225 strcpy(driver->name, "UltraSPARC-III"); 208 strcpy(driver->name, "UltraSPARC-III");