summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAshwin Chaugule <ashwin.chaugule@linaro.org>2015-08-05 16:40:26 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-08-25 04:25:47 +0300
commit5f05586c609dfc737e2e00c757a51c7dbb415e51 (patch)
tree282d1717e70ad141d994d87589006d78d22c5006 /drivers
parent239708a3af44064366f1af0eea02dc1e8991c11b (diff)
downloadlinux-5f05586c609dfc737e2e00c757a51c7dbb415e51.tar.xz
ACPI: Decouple ACPI idle and ACPI processor drivers
This patch introduces a new Kconfig symbol, ACPI_PROCESSOR_IDLE, which is auto selected by architectures which support the ACPI based C states for CPU Idle management. The processor_idle driver in its present form contains declarations specific to X86 and IA64. Since there are no reasonable defaults for other architectures e.g. ARM64, the driver is selected only for X86 or IA64. This helps in decoupling the ACPI processor_driver from the ACPI processor_idle driver which is useful for the upcoming alternative patchwork for controlling CPU Performance (CPPC) and CPU Idle (LPI). Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/Kconfig6
-rw-r--r--drivers/acpi/Makefile3
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index d6e2a869033c..54e9729f9634 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -193,10 +193,14 @@ config ACPI_CPU_FREQ_PSS
bool
select THERMAL
+config ACPI_PROCESSOR_IDLE
+ bool
+ select CPU_IDLE
+
config ACPI_PROCESSOR
tristate "Processor"
depends on X86 || IA64
- select CPU_IDLE
+ select ACPI_PROCESSOR_IDLE
select ACPI_CPU_FREQ_PSS
default y
help
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index 7e97aef373ae..3ea59ae85c19 100644
--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -80,7 +80,8 @@ obj-$(CONFIG_ACPI_CUSTOM_METHOD)+= custom_method.o
obj-$(CONFIG_ACPI_BGRT) += bgrt.o
# processor has its own "processor." module_param namespace
-processor-y := processor_driver.o processor_idle.o
+processor-y := processor_driver.o
+processor-$(CONFIG_ACPI_PROCESSOR_IDLE) += processor_idle.o
processor-$(CONFIG_ACPI_CPU_FREQ_PSS) += processor_throttling.o \
processor_thermal.o
processor-$(CONFIG_CPU_FREQ) += processor_perflib.o