Skip to content

Commit 0317561

Browse files
storulfrafaeljw
authored andcommitted
cpuidle: psci: Split into two separate build objects
The combined build object for the PSCI cpuidle driver and the PSCI PM domain, is a bit messy. Therefore let's split it up by adding a new Kconfig ARM_PSCI_CPUIDLE_DOMAIN and convert into two separate objects. Reviewed-by: Lina Iyer <[email protected]> Reviewed-by: Sudeep Holla <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent dab2017 commit 0317561

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

drivers/cpuidle/Kconfig.arm

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ config ARM_PSCI_CPUIDLE
2323
It provides an idle driver that is capable of detecting and
2424
managing idle states through the PSCI firmware interface.
2525

26+
config ARM_PSCI_CPUIDLE_DOMAIN
27+
bool "PSCI CPU idle Domain"
28+
depends on ARM_PSCI_CPUIDLE
29+
depends on PM_GENERIC_DOMAINS_OF
30+
default y
31+
help
32+
Select this to enable the PSCI based CPUidle driver to use PM domains,
33+
which is needed to support the hierarchical DT based layout of the
34+
idle states.
35+
2636
config ARM_BIG_LITTLE_CPUIDLE
2737
bool "Support for ARM big.LITTLE processors"
2838
depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS || COMPILE_TEST

drivers/cpuidle/Makefile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ obj-$(CONFIG_ARM_U8500_CPUIDLE) += cpuidle-ux500.o
2121
obj-$(CONFIG_ARM_AT91_CPUIDLE) += cpuidle-at91.o
2222
obj-$(CONFIG_ARM_EXYNOS_CPUIDLE) += cpuidle-exynos.o
2323
obj-$(CONFIG_ARM_CPUIDLE) += cpuidle-arm.o
24-
obj-$(CONFIG_ARM_PSCI_CPUIDLE) += cpuidle_psci.o
25-
cpuidle_psci-y := cpuidle-psci.o
26-
cpuidle_psci-$(CONFIG_PM_GENERIC_DOMAINS_OF) += cpuidle-psci-domain.o
24+
obj-$(CONFIG_ARM_PSCI_CPUIDLE) += cpuidle-psci.o
25+
obj-$(CONFIG_ARM_PSCI_CPUIDLE_DOMAIN) += cpuidle-psci-domain.o
2726
obj-$(CONFIG_ARM_TEGRA_CPUIDLE) += cpuidle-tegra.o
2827
obj-$(CONFIG_ARM_QCOM_SPM_CPUIDLE) += cpuidle-qcom-spm.o
2928

drivers/cpuidle/cpuidle-psci.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ struct device_node;
88
void psci_set_domain_state(u32 state);
99
int __init psci_dt_parse_state_node(struct device_node *np, u32 *state);
1010

11-
#ifdef CONFIG_PM_GENERIC_DOMAINS_OF
11+
#ifdef CONFIG_ARM_PSCI_CPUIDLE_DOMAIN
1212
struct device __init *psci_dt_attach_cpu(int cpu);
1313
#else
1414
static inline struct device __init *psci_dt_attach_cpu(int cpu) { return NULL; }

0 commit comments

Comments
 (0)