xref: /openbmc/linux/drivers/cpuidle/Kconfig (revision e657c18a)
1menu "CPU Idle"
2
3config CPU_IDLE
4	bool "CPU idle PM support"
5	default y if ACPI || PPC_PSERIES
6	select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
7	select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
8	help
9	  CPU idle is a generic framework for supporting software-controlled
10	  idle processor power management.  It includes modular cross-platform
11	  governors that can be swapped during runtime.
12
13	  If you're using an ACPI-enabled platform, you should say Y here.
14
15if CPU_IDLE
16
17config CPU_IDLE_MULTIPLE_DRIVERS
18        bool
19
20config CPU_IDLE_GOV_LADDER
21	bool "Ladder governor (for periodic timer tick)"
22
23config CPU_IDLE_GOV_MENU
24	bool "Menu governor (for tickless system)"
25
26config CPU_IDLE_GOV_TEO
27	bool "Timer events oriented (TEO) governor (for tickless systems)"
28	help
29	  This governor implements a simplified idle state selection method
30	  focused on timer events and does not do any interactivity boosting.
31
32	  Some workloads benefit from using it and it generally should be safe
33	  to use.  Say Y here if you are not happy with the alternatives.
34
35config DT_IDLE_STATES
36	bool
37
38menu "ARM CPU Idle Drivers"
39depends on ARM || ARM64
40source "drivers/cpuidle/Kconfig.arm"
41endmenu
42
43menu "MIPS CPU Idle Drivers"
44depends on MIPS
45source "drivers/cpuidle/Kconfig.mips"
46endmenu
47
48menu "POWERPC CPU Idle Drivers"
49depends on PPC
50source "drivers/cpuidle/Kconfig.powerpc"
51endmenu
52
53endif
54
55config ARCH_NEEDS_CPU_IDLE_COUPLED
56	def_bool n
57endmenu
58