Re: [PATCH] cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors

From: Rafael J. Wysocki
Date: Tue Nov 18 2014 - 18:09:32 EST


On Thursday, November 13, 2014 01:51:52 PM Lenny Szubowicz wrote:
> The pcc-cpufreq driver is not automatically loaded on systems where
> the platform's power management setting requires this driver.
> Instead, on those systems no CPU frequency driver is registered and
> active.
>
> Make the autoloading matching criteria for loading the pcc-cpufreq
> driver the same as done in acpi-cpufreq by commit c655affbd524d01
> ("ACPI / cpufreq: Add ACPI processor device IDs to acpi-cpufreq").
>
> x86 CPU frequency drivers are now typically autoloaded by specifying
> MODULE_DEVICE_TABLE entries and x86cpu model specific matching.
> But pcc-cpufreq was omitted when acpi-cpufreq and other drivers were
> changed to use this approach.
>
> Both acpi-cpufreq and pcc-cpufreq depend on a distinct and mutually
> exclusive set of ACPI methods which are not directly tied to specific
> processor model numbers. Both of these drivers have init routines
> which look for their required ACPI methods. As a result, only the
> appropriate driver registers as the cpu frequency driver and the other
> one ends up being unloaded.
>
> Tested on various systems where acpi-cpufreq, intel_pstate, and
> pcc-cpufreq are the expected cpu frequency drivers.
>
> Signed-off-by: Lenny Szubowicz <lszubowi@xxxxxxxxxx>
> Signed-off-by: Joseph Szczypek <joseph.szczypek@xxxxxx>
> Reported-by: Trinh Dao <trinh.dao@xxxxxx>

Queued up for 3.19-rc1, thanks!

> ---
> drivers/cpufreq/pcc-cpufreq.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
> index 4d2c8e8..2a0d589 100644
> --- a/drivers/cpufreq/pcc-cpufreq.c
> +++ b/drivers/cpufreq/pcc-cpufreq.c
> @@ -603,6 +603,13 @@ static void __exit pcc_cpufreq_exit(void)
> free_percpu(pcc_cpu_info);
> }
>
> +static const struct acpi_device_id processor_device_ids[] = {
> + {ACPI_PROCESSOR_OBJECT_HID, },
> + {ACPI_PROCESSOR_DEVICE_HID, },
> + {},
> +};
> +MODULE_DEVICE_TABLE(acpi, processor_device_ids);
> +
> MODULE_AUTHOR("Matthew Garrett, Naga Chumbalkar");
> MODULE_VERSION(PCC_VERSION);
> MODULE_DESCRIPTION("Processor Clocking Control interface driver");
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/