menu "CPU Idle"

config CPU_IDLE
	bool "CPU idle PM support"
	default y if ACPI || PPC_PSERIES
	select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
	select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE)
	help
	  CPU idle is a generic framework for supporting software-controlled
	  idle processor power management.  It includes modular cross-platform
	  governors that can be swapped during runtime.

	  If you're using an ACPI-enabled platform, you should say Y here.

if CPU_IDLE

config CPU_IDLE_MULTIPLE_DRIVERS
        bool "Support multiple cpuidle drivers"
        default n
        help
         Allows the cpuidle framework to use different drivers for each CPU.
         This is useful if you have a system with different CPU latencies and
         states. If unsure say N.

config CPU_IDLE_GOV_LADDER
	bool "Ladder governor (for periodic timer tick)"
	default y

config CPU_IDLE_GOV_MENU
	bool "Menu governor (for tickless system)"
	default y

config OF_IDLE_STATES
        bool "Idle states DT support"
	depends on ARM || ARM64
	default n
	help
	 Allows the CPU idle framework to initialize CPU idle drivers
	 state data by using DT provided nodes compliant with idle states
	 device tree bindings.

menu "ARM CPU Idle Drivers"
depends on ARM
source "drivers/cpuidle/Kconfig.arm"
endmenu

menu "ARM64 CPU Idle Drivers"
depends on ARM64
source "drivers/cpuidle/Kconfig.arm64"
endmenu

menu "POWERPC CPU Idle Drivers"
depends on PPC
source "drivers/cpuidle/Kconfig.powerpc"
endmenu

endif

config ARCH_NEEDS_CPU_IDLE_COUPLED
	def_bool n
endmenu
