mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Stephan Gerhold](/assets/img/avatar_default.png)
The Qualcomm SPM cpuidle driver seems to be the last driver still using the generic ARM CPUidle infrastructure. Converting it actually allows us to simplify the driver, and we end up being able to remove more lines than adding new ones: - We can parse the CPUidle states in the device tree directly with dt_idle_states (and don't need to duplicate that functionality into the spm driver). - Each "saw" device managed by the SPM driver now directly registers its own cpuidle driver, removing the need for any global (per cpu) state. The device tree binding is the same, so the driver stays compatible with all old device trees. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Reviewed-by: Lina Iyer <ilina@codeaurora.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
37 lines
1.6 KiB
Makefile
37 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for cpuidle.
|
|
#
|
|
|
|
obj-y += cpuidle.o driver.o governor.o sysfs.o governors/
|
|
obj-$(CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED) += coupled.o
|
|
obj-$(CONFIG_DT_IDLE_STATES) += dt_idle_states.o
|
|
obj-$(CONFIG_ARCH_HAS_CPU_RELAX) += poll_state.o
|
|
obj-$(CONFIG_HALTPOLL_CPUIDLE) += cpuidle-haltpoll.o
|
|
|
|
##################################################################################
|
|
# ARM SoC drivers
|
|
obj-$(CONFIG_ARM_MVEBU_V7_CPUIDLE) += cpuidle-mvebu-v7.o
|
|
obj-$(CONFIG_ARM_BIG_LITTLE_CPUIDLE) += cpuidle-big_little.o
|
|
obj-$(CONFIG_ARM_CLPS711X_CPUIDLE) += cpuidle-clps711x.o
|
|
obj-$(CONFIG_ARM_HIGHBANK_CPUIDLE) += cpuidle-calxeda.o
|
|
obj-$(CONFIG_ARM_KIRKWOOD_CPUIDLE) += cpuidle-kirkwood.o
|
|
obj-$(CONFIG_ARM_ZYNQ_CPUIDLE) += cpuidle-zynq.o
|
|
obj-$(CONFIG_ARM_U8500_CPUIDLE) += cpuidle-ux500.o
|
|
obj-$(CONFIG_ARM_AT91_CPUIDLE) += cpuidle-at91.o
|
|
obj-$(CONFIG_ARM_EXYNOS_CPUIDLE) += cpuidle-exynos.o
|
|
obj-$(CONFIG_ARM_CPUIDLE) += cpuidle-arm.o
|
|
obj-$(CONFIG_ARM_PSCI_CPUIDLE) += cpuidle_psci.o
|
|
cpuidle_psci-y := cpuidle-psci.o
|
|
cpuidle_psci-$(CONFIG_PM_GENERIC_DOMAINS_OF) += cpuidle-psci-domain.o
|
|
obj-$(CONFIG_ARM_TEGRA_CPUIDLE) += cpuidle-tegra.o
|
|
obj-$(CONFIG_ARM_QCOM_SPM_CPUIDLE) += cpuidle-qcom-spm.o
|
|
|
|
###############################################################################
|
|
# MIPS drivers
|
|
obj-$(CONFIG_MIPS_CPS_CPUIDLE) += cpuidle-cps.o
|
|
|
|
###############################################################################
|
|
# POWERPC drivers
|
|
obj-$(CONFIG_PSERIES_CPUIDLE) += cpuidle-pseries.o
|
|
obj-$(CONFIG_POWERNV_CPUIDLE) += cpuidle-powernv.o
|