From b861df79f78457a8b6340b8bbc6705720d9e1abe Mon Sep 17 00:00:00 2001 From: Dave Jones <davej@redhat.com> Date: Fri, 19 Mar 2004 20:46:16 +0000 Subject: [PATCH] [CPUFREQ] Export an array of available frequency settings of the centrino driver. --- .../kernel/cpu/cpufreq/speedstep-centrino.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c index e9f89a227cd4..899aba1c2443 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c @@ -363,6 +363,7 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) { unsigned freq; unsigned l, h; + int ret; if (policy->cpu != 0) return -ENODEV; @@ -398,7 +399,13 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) dprintk(KERN_INFO PFX "centrino_cpu_init: policy=%d cur=%dkHz\n", policy->policy, policy->cur); - return cpufreq_frequency_table_cpuinfo(policy, centrino_model->op_points); + ret = cpufreq_frequency_table_cpuinfo(policy, centrino_model->op_points); + if (ret) + return (ret); + + cpufreq_frequency_table_get_attr(centrino_model->op_points, policy->cpu); + + return 0; } static int centrino_cpu_exit(struct cpufreq_policy *policy) @@ -406,6 +413,8 @@ static int centrino_cpu_exit(struct cpufreq_policy *policy) if (!centrino_model) return -ENODEV; + cpufreq_frequency_table_put_attr(policy->cpu); + #ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI if (!centrino_model->model_name) { acpi_processor_unregister_performance(&p, 0); @@ -492,6 +501,11 @@ static int centrino_target (struct cpufreq_policy *policy, return 0; } +static struct freq_attr* centrino_attr[] = { + &cpufreq_freq_attr_scaling_available_freqs, + NULL, +}; + static struct cpufreq_driver centrino_driver = { .name = "centrino", /* should be speedstep-centrino, but there's a 16 char limit */ @@ -499,6 +513,7 @@ static struct cpufreq_driver centrino_driver = { .exit = centrino_cpu_exit, .verify = centrino_verify, .target = centrino_target, + .attr = centrino_attr, .owner = THIS_MODULE, }; -- 2.30.9