Re: [PATCH 05/11] acpi: cppc: Allow build with ACPI_CPU_FREQ_PSS config

From: Rafael J. Wysocki
Date: Fri Aug 19 2016 - 20:41:29 EST


On Thursday, August 18, 2016 03:36:46 PM Srinivas Pandruvada wrote:
> Some newer x86 platforms have support for both _CPC and _PSS object. So
> kernel config can have both ACPI_CPU_FREQ_PSS and ACPI_CPPC_LIB. So remove
> restriction for ACPI_CPPC_LIB to build only when ACPI_CPU_FREQ_PSS is not
> defined.
> Also for legacy systems with only _PSS, we shouldn't bail out if
> acpi_cppc_processor_probe() fails, if ACPI_CPU_FREQ_PSS is also defined.
>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> ---
> drivers/acpi/Kconfig | 1 -
> drivers/acpi/processor_driver.c | 5 ++++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 445ce28..c6bb6aa 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -227,7 +227,6 @@ config ACPI_MCFG
> config ACPI_CPPC_LIB
> bool
> depends on ACPI_PROCESSOR
> - depends on !ACPI_CPU_FREQ_PSS
> select MAILBOX
> select PCC
> help
> diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
> index 0553aee..0e0b629 100644
> --- a/drivers/acpi/processor_driver.c
> +++ b/drivers/acpi/processor_driver.c
> @@ -245,8 +245,11 @@ static int __acpi_processor_start(struct acpi_device *device)
> return 0;
>
> result = acpi_cppc_processor_probe(pr);
> - if (result)
> + if (result) {
> +#ifndef CONFIG_ACPI_CPU_FREQ_PSS
> return -ENODEV;
> +#endif
> + }

if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS))
return -ENODEV;

would look better.

>
> if (!cpuidle_get_driver() || cpuidle_get_driver() == &acpi_idle_driver)
> acpi_processor_power_init(pr);
>

Thanks,
Rafael