ACPI / CPPC: Allow build with ACPI_CPU_FREQ_PSS config
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Thu, 1 Sep 2016 20:37:08 +0000 (13:37 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 8 Sep 2016 21:02:14 +0000 (23:02 +0200)
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@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/Kconfig
drivers/acpi/processor_driver.c

index 445ce28..c6bb6aa 100644 (file)
@@ -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
index 0553aee..f5c92be 100644 (file)
@@ -245,7 +245,7 @@ static int __acpi_processor_start(struct acpi_device *device)
                return 0;
 
        result = acpi_cppc_processor_probe(pr);
-       if (result)
+       if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS))
                return -ENODEV;
 
        if (!cpuidle_get_driver() || cpuidle_get_driver() == &acpi_idle_driver)