aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/p4-clockmod.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2013-10-03 10:58:14 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-15 18:50:26 -0400
commit522f70cefaedf414d8856677f46836f262572a35 (patch)
tree3cc1cda97f6ef1913e926027faa768ab79b5fcbf /drivers/cpufreq/p4-clockmod.c
parentd5ca1649c1aebf1e5c95a33fdd80ad415f41dd1d (diff)
cpufreq: p4-clockmod: Use generic cpufreq routines
Most of the CPUFreq drivers do similar things in .exit() and .verify() routines and .attr. So its better if we have generic routines for them which can be used by cpufreq drivers then. This patch uses these generic routines in the p4-clockmod driver. Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/p4-clockmod.c')
-rw-r--r--drivers/cpufreq/p4-clockmod.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/cpufreq/p4-clockmod.c b/drivers/cpufreq/p4-clockmod.c
index 03478bf29677..4fe6d4cac74c 100644
--- a/drivers/cpufreq/p4-clockmod.c
+++ b/drivers/cpufreq/p4-clockmod.c
@@ -140,12 +140,6 @@ static int cpufreq_p4_target(struct cpufreq_policy *policy,
140} 140}
141 141
142 142
143static int cpufreq_p4_verify(struct cpufreq_policy *policy)
144{
145 return cpufreq_frequency_table_verify(policy, &p4clockmod_table[0]);
146}
147
148
149static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c) 143static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c)
150{ 144{
151 if (c->x86 == 0x06) { 145 if (c->x86 == 0x06) {
@@ -242,12 +236,6 @@ static int cpufreq_p4_cpu_init(struct cpufreq_policy *policy)
242} 236}
243 237
244 238
245static int cpufreq_p4_cpu_exit(struct cpufreq_policy *policy)
246{
247 cpufreq_frequency_table_put_attr(policy->cpu);
248 return 0;
249}
250
251static unsigned int cpufreq_p4_get(unsigned int cpu) 239static unsigned int cpufreq_p4_get(unsigned int cpu)
252{ 240{
253 u32 l, h; 241 u32 l, h;
@@ -266,19 +254,14 @@ static unsigned int cpufreq_p4_get(unsigned int cpu)
266 return stock_freq; 254 return stock_freq;
267} 255}
268 256
269static struct freq_attr *p4clockmod_attr[] = {
270 &cpufreq_freq_attr_scaling_available_freqs,
271 NULL,
272};
273
274static struct cpufreq_driver p4clockmod_driver = { 257static struct cpufreq_driver p4clockmod_driver = {
275 .verify = cpufreq_p4_verify, 258 .verify = cpufreq_generic_frequency_table_verify,
276 .target = cpufreq_p4_target, 259 .target = cpufreq_p4_target,
277 .init = cpufreq_p4_cpu_init, 260 .init = cpufreq_p4_cpu_init,
278 .exit = cpufreq_p4_cpu_exit, 261 .exit = cpufreq_generic_exit,
279 .get = cpufreq_p4_get, 262 .get = cpufreq_p4_get,
280 .name = "p4-clockmod", 263 .name = "p4-clockmod",
281 .attr = p4clockmod_attr, 264 .attr = cpufreq_generic_attr,
282}; 265};
283 266
284static const struct x86_cpu_id cpufreq_p4_id[] = { 267static const struct x86_cpu_id cpufreq_p4_id[] = {