On 13/10/2013, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > -> What about this: > > /* > * The core will not set policy->cur, because cpufreq_driver->get is NULL, > * so we need to set it here. However, we have to guess it, because the > * current speed is unknown and not detectable via IO ports. > */ Far better. Attached again. Thanks.
From 055b5d73bef0898d477188372b215cd2ec82fe81 Mon Sep 17 00:00:00 2001 Message-Id: <055b5d73bef0898d477188372b215cd2ec82fe81.1381624602.git.viresh.kumar@xxxxxxxxxx> From: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat, 12 Oct 2013 07:00:01 +0530 Subject: [PATCH] cpufreq: acpi: Add comment under ACPI_ADR_SPACE_SYSTEM_IO case policy->cur is now set by cpufreq core when cpufreq_driver->get() is defined and so drivers aren't required to set it. When space_id is ACPI_ADR_SPACE_SYSTEM_IO for acpi cpufreq driver it doesn't set ->get to a valid function pointer and so policy->cur is required to be set by driver. This is already followed in acpi-cpufreq driver. This patch adds a comment describing why we need to set policy->cur from driver. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> --- drivers/cpufreq/acpi-cpufreq.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c index a8dac7b..a1717d7 100644 --- a/drivers/cpufreq/acpi-cpufreq.c +++ b/drivers/cpufreq/acpi-cpufreq.c @@ -837,7 +837,12 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) switch (perf->control_register.space_id) { case ACPI_ADR_SPACE_SYSTEM_IO: - /* Current speed is unknown and not detectable by IO port */ + /* + * The core will not set policy->cur, because + * cpufreq_driver->get is NULL, so we need to set it here. + * However, we have to guess it, because the current speed is + * unknown and not detectable via IO ports. + */ policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu); break; case ACPI_ADR_SPACE_FIXED_HARDWARE: -- 1.7.12.rc2.18.g61b472e