| # SPDX-License-Identifier: GPL-2.0-only | 
 | 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) && !CPU_IDLE_GOV_TEO | 
 | 	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 | 
 |  | 
 | config CPU_IDLE_GOV_LADDER | 
 | 	bool "Ladder governor (for periodic timer tick)" | 
 |  | 
 | config CPU_IDLE_GOV_MENU | 
 | 	bool "Menu governor (for tickless system)" | 
 |  | 
 | config CPU_IDLE_GOV_TEO | 
 | 	bool "Timer events oriented (TEO) governor (for tickless systems)" | 
 | 	help | 
 | 	  This governor implements a simplified idle state selection method | 
 | 	  focused on timer events and does not do any interactivity boosting. | 
 |  | 
 | 	  Some workloads benefit from using it and it generally should be safe | 
 | 	  to use.  Say Y here if you are not happy with the alternatives. | 
 |  | 
 | config CPU_IDLE_GOV_HALTPOLL | 
 | 	bool "Haltpoll governor (for virtualized systems)" | 
 | 	depends on KVM_GUEST | 
 | 	help | 
 | 	  This governor implements haltpoll idle state selection, to be | 
 | 	  used in conjunction with the haltpoll cpuidle driver, allowing | 
 | 	  for polling for a certain amount of time before entering idle | 
 | 	  state. | 
 |  | 
 | 	  Some virtualized workloads benefit from using it. | 
 |  | 
 | config DT_IDLE_STATES | 
 | 	bool | 
 |  | 
 | config DT_IDLE_GENPD | 
 | 	depends on PM_GENERIC_DOMAINS_OF | 
 | 	bool | 
 |  | 
 | menu "ARM CPU Idle Drivers" | 
 | depends on ARM || ARM64 | 
 | source "drivers/cpuidle/Kconfig.arm" | 
 | endmenu | 
 |  | 
 | menu "MIPS CPU Idle Drivers" | 
 | depends on MIPS | 
 | source "drivers/cpuidle/Kconfig.mips" | 
 | endmenu | 
 |  | 
 | menu "POWERPC CPU Idle Drivers" | 
 | depends on PPC | 
 | source "drivers/cpuidle/Kconfig.powerpc" | 
 | endmenu | 
 |  | 
 | menu "RISC-V CPU Idle Drivers" | 
 | depends on RISCV | 
 | source "drivers/cpuidle/Kconfig.riscv" | 
 | endmenu | 
 |  | 
 | config HALTPOLL_CPUIDLE | 
 | 	tristate "Halt poll cpuidle driver" | 
 | 	depends on X86 && KVM_GUEST | 
 | 	select CPU_IDLE_GOV_HALTPOLL | 
 | 	default y | 
 | 	help | 
 | 	 This option enables halt poll cpuidle driver, which allows to poll | 
 | 	 before halting in the guest (more efficient than polling in the | 
 | 	 host via halt_poll_ns for some scenarios). | 
 |  | 
 | endif | 
 |  | 
 | config ARCH_NEEDS_CPU_IDLE_COUPLED | 
 | 	def_bool n | 
 | endmenu |