Loading arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ config ARM select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select ARM_PSCI_FW if PM select BUILDTIME_EXTABLE_SORT if MMU select CLONE_BACKWARDS select CPU_PM if (SUSPEND || CPU_IDLE) Loading drivers/cpuidle/lpm-levels.c +12 −0 Original line number Diff line number Diff line Loading @@ -1702,6 +1702,18 @@ static int __init lpm_levels_module_init(void) { int rc; #ifdef CONFIG_ARM int cpu; for_each_possible_cpu(cpu) { rc = arm_cpuidle_init(smp_processor_id()); if (rc) { pr_err("CPU%d ARM CPUidle init failed (%d)\n", cpu, rc); return rc; } } #endif rc = platform_driver_register(&lpm_driver); if (rc) { pr_info("Error registering %s\n", lpm_driver.driver.name); Loading drivers/firmware/psci.c +6 −1 Original line number Diff line number Diff line Loading @@ -268,8 +268,9 @@ static int __init psci_features(u32 psci_func_id) } #ifdef CONFIG_CPU_IDLE static DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); static __maybe_unused DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); #ifdef CONFIG_DT_IDLE_STATES static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { int i, ret, count = 0; Loading Loading @@ -322,6 +323,10 @@ static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) kfree(psci_states); return ret; } #else static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { return 0; } #endif #ifdef CONFIG_ACPI #include <acpi/processor.h> Loading Loading
arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ config ARM select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select ARM_PSCI_FW if PM select BUILDTIME_EXTABLE_SORT if MMU select CLONE_BACKWARDS select CPU_PM if (SUSPEND || CPU_IDLE) Loading
drivers/cpuidle/lpm-levels.c +12 −0 Original line number Diff line number Diff line Loading @@ -1702,6 +1702,18 @@ static int __init lpm_levels_module_init(void) { int rc; #ifdef CONFIG_ARM int cpu; for_each_possible_cpu(cpu) { rc = arm_cpuidle_init(smp_processor_id()); if (rc) { pr_err("CPU%d ARM CPUidle init failed (%d)\n", cpu, rc); return rc; } } #endif rc = platform_driver_register(&lpm_driver); if (rc) { pr_info("Error registering %s\n", lpm_driver.driver.name); Loading
drivers/firmware/psci.c +6 −1 Original line number Diff line number Diff line Loading @@ -268,8 +268,9 @@ static int __init psci_features(u32 psci_func_id) } #ifdef CONFIG_CPU_IDLE static DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); static __maybe_unused DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); #ifdef CONFIG_DT_IDLE_STATES static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { int i, ret, count = 0; Loading Loading @@ -322,6 +323,10 @@ static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) kfree(psci_states); return ret; } #else static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { return 0; } #endif #ifdef CONFIG_ACPI #include <acpi/processor.h> Loading