Kconfig 11.7 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1 2 3 4
#
# ACPI Configuration
#

Jan Engelhardt's avatar
Jan Engelhardt committed
5
menuconfig ACPI
6
	bool "ACPI (Advanced Configuration and Power Interface) Support"
Linus Torvalds's avatar
Linus Torvalds committed
7 8
	depends on !IA64_HP_SIM
	depends on IA64 || X86
9
	depends on PCI
10
	select PNP
Linus Torvalds's avatar
Linus Torvalds committed
11
	default y
12
	help
Linus Torvalds's avatar
Linus Torvalds committed
13
	  Advanced Configuration and Power Interface (ACPI) support for 
14
	  Linux requires an ACPI-compliant platform (hardware/firmware),
Linus Torvalds's avatar
Linus Torvalds committed
15 16 17 18 19 20 21 22 23
	  and assumes the presence of OS-directed configuration and power
	  management (OSPM) software.  This option will enlarge your 
	  kernel by about 70K.

	  Linux ACPI provides a robust functional replacement for several 
	  legacy configuration and power management interfaces, including
	  the Plug-and-Play BIOS specification (PnP BIOS), the 
	  MultiProcessor Specification (MPS), and the Advanced Power 
	  Management (APM) specification.  If both ACPI and APM support 
24
	  are configured, ACPI is used.
Linus Torvalds's avatar
Linus Torvalds committed
25

26
	  The project home page for the Linux ACPI subsystem is here:
27
	  <https://01.org/linux-acpi>
Linus Torvalds's avatar
Linus Torvalds committed
28 29

	  Linux support for ACPI is based on Intel Corporation's ACPI
30 31 32
	  Component Architecture (ACPI CA).  For more information on the
	  ACPI CA, see:
	  <http://acpica.org/>
Linus Torvalds's avatar
Linus Torvalds committed
33

34 35 36
	  ACPI is an open industry specification co-developed by
	  Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
	  The specification is available at:
Linus Torvalds's avatar
Linus Torvalds committed
37 38
	  <http://www.acpi.info>

Len Brown's avatar
Len Brown committed
39 40
if ACPI

Len Brown's avatar
Len Brown committed
41 42
config ACPI_SLEEP
	bool
43
	depends on SUSPEND || HIBERNATION
Len Brown's avatar
Len Brown committed
44 45
	default y

46 47
config ACPI_EC_DEBUGFS
	tristate "EC read/write access through /sys/kernel/debug/ec"
48
	default n
49 50 51
	help
	  Say N to disable Embedded Controller /sys/kernel/debug interface

52 53
	  Be aware that using this interface can confuse your Embedded
	  Controller in a way that a normal reboot is not enough. You then
Andrea Gelmini's avatar
Andrea Gelmini committed
54
	  have to power off your system, and remove the laptop battery for
55
	  some seconds.
56 57
	  An Embedded Controller typically is available on laptops and reads
	  sensor values like battery state and temperature.
58 59 60
	  The kernel accesses the EC through ACPI parsed code provided by BIOS
	  tables. This option allows to access the EC directly without ACPI
	  code being involved.
61 62 63
	  Thus this option is a debug option that helps to write ACPI drivers
	  and can be used to identify ACPI code or EC firmware bugs.

Linus Torvalds's avatar
Linus Torvalds committed
64 65
config ACPI_AC
	tristate "AC Adapter"
66
	depends on X86
67
	select POWER_SUPPLY
68
	default y
Linus Torvalds's avatar
Linus Torvalds committed
69
	help
70 71
	  This driver supports the AC Adapter object, which indicates
	  whether a system is on AC or not.  If you have a system that can
72
	  switch between A/C and battery, say Y.
Linus Torvalds's avatar
Linus Torvalds committed
73

74 75 76
	  To compile this driver as a module, choose M here:
	  the module will be called ac.

Linus Torvalds's avatar
Linus Torvalds committed
77 78
config ACPI_BATTERY
	tristate "Battery"
79
	depends on X86
80
	select POWER_SUPPLY
81
	default y
Linus Torvalds's avatar
Linus Torvalds committed
82 83 84 85 86
	help
	  This driver adds support for battery information through
	  /proc/acpi/battery. If you have a mobile system with a battery, 
	  say Y.

87 88 89
	  To compile this driver as a module, choose M here:
	  the module will be called battery.

Linus Torvalds's avatar
Linus Torvalds committed
90 91
config ACPI_BUTTON
	tristate "Button"
92
	depends on INPUT
93
	default y
Linus Torvalds's avatar
Linus Torvalds committed
94
	help
95
	  This driver handles events on the power, sleep, and lid buttons.
96 97 98
	  A daemon reads events from input devices or via netlink and
	  performs user-defined actions such as shutting down the system.
	  This is necessary for software-controlled poweroff.
99 100 101

	  To compile this driver as a module, choose M here:
	  the module will be called button.
Linus Torvalds's avatar
Linus Torvalds committed
102 103 104

config ACPI_VIDEO
	tristate "Video"
105
	depends on X86 && BACKLIGHT_CLASS_DEVICE
106
	depends on INPUT
107
	select THERMAL
Linus Torvalds's avatar
Linus Torvalds committed
108
	help
109
	  This driver implements the ACPI Extensions For Display Adapters
Linus Torvalds's avatar
Linus Torvalds committed
110
	  for integrated graphics devices on motherboard, as specified in
111 112 113 114 115 116
	  ACPI 2.0 Specification, Appendix B.  This supports basic operations
	  such as defining the video POST device, retrieving EDID information,
	  and setting up a video output.

	  To compile this driver as a module, choose M here:
	  the module will be called video.
Linus Torvalds's avatar
Linus Torvalds committed
117 118 119

config ACPI_FAN
	tristate "Fan"
120
	select THERMAL
121
	default y
Linus Torvalds's avatar
Linus Torvalds committed
122
	help
123
	  This driver supports ACPI fan devices, allowing user-mode
Linus Torvalds's avatar
Linus Torvalds committed
124 125
	  applications to perform basic fan control (on, off, status).

126 127 128
	  To compile this driver as a module, choose M here:
	  the module will be called fan.

129
config ACPI_DOCK
130
	bool "Dock"
131
	help
132 133
	  This driver supports ACPI-controlled docking stations and removable
	  drive bays such as the IBM Ultrabay and the Dell Module Bay.
134

Linus Torvalds's avatar
Linus Torvalds committed
135 136
config ACPI_PROCESSOR
	tristate "Processor"
137
	select THERMAL
138
	select CPU_IDLE
139
	default y
Linus Torvalds's avatar
Linus Torvalds committed
140
	help
141 142
	  This driver installs ACPI as the idle handler for Linux and uses
	  ACPI C2 and C3 processor states to save power on systems that
143
	  support it.  It is required by several flavors of cpufreq
144 145 146 147
	  performance-state drivers.

	  To compile this driver as a module, choose M here:
	  the module will be called processor.
148

149 150
config ACPI_IPMI
	tristate "IPMI"
151
	depends on IPMI_SI
152 153 154 155 156 157 158 159
	default n
	help
	  This driver enables the ACPI to access the BMC controller. And it
	  uses the IPMI request/response message to communicate with BMC
	  controller, which can be found on on the server.

	  To compile this driver as a module, choose M here:
	  the module will be called as acpi_ipmi.
Linus Torvalds's avatar
Linus Torvalds committed
160 161

config ACPI_HOTPLUG_CPU
162
	bool
163
	depends on ACPI_PROCESSOR && HOTPLUG_CPU
Linus Torvalds's avatar
Linus Torvalds committed
164
	select ACPI_CONTAINER
165
	default y
Linus Torvalds's avatar
Linus Torvalds committed
166

167 168 169
config ACPI_PROCESSOR_AGGREGATOR
	tristate "Processor Aggregator"
	depends on ACPI_PROCESSOR
Len Brown's avatar
Len Brown committed
170
	depends on X86
171 172
	help
	  ACPI 4.0 defines processor Aggregator, which enables OS to perform
173
	  specific processor configuration and control that applies to all
174 175
	  processors in the platform. Currently only logical processor idling
	  is defined, which is to reduce power consumption. This driver
176
	  supports the new device.
177

Linus Torvalds's avatar
Linus Torvalds committed
178 179 180
config ACPI_THERMAL
	tristate "Thermal Zone"
	depends on ACPI_PROCESSOR
181
	select THERMAL
182
	default y
Linus Torvalds's avatar
Linus Torvalds committed
183
	help
184
	  This driver supports ACPI thermal zones.  Most mobile and
Linus Torvalds's avatar
Linus Torvalds committed
185 186 187 188
	  some desktop systems support ACPI thermal zones.  It is HIGHLY
	  recommended that this option be enabled, as your processor(s)
	  may be damaged without it.

189 190 191
	  To compile this driver as a module, choose M here:
	  the module will be called thermal.

Linus Torvalds's avatar
Linus Torvalds committed
192 193 194
config ACPI_NUMA
	bool "NUMA support"
	depends on NUMA
195
	depends on (X86 || IA64)
Linus Torvalds's avatar
Linus Torvalds committed
196 197
	default y if IA64_GENERIC || IA64_SGI_SN2

198 199 200
config ACPI_CUSTOM_DSDT_FILE
	string "Custom DSDT Table file to include"
	default ""
Linus Torvalds's avatar
Linus Torvalds committed
201 202
	depends on !STANDALONE
	help
203 204 205
	  This option supports a custom DSDT by linking it into the kernel.
	  See Documentation/acpi/dsdt-override.txt

Uwe Zeisberger's avatar
Uwe Zeisberger committed
206 207
	  Enter the full path name to the file which includes the AmlCode
	  declaration.
Linus Torvalds's avatar
Linus Torvalds committed
208

209 210 211 212 213 214
	  If unsure, don't enter a file name.

config ACPI_CUSTOM_DSDT
	bool
	default ACPI_CUSTOM_DSDT_FILE != ""

215
config ACPI_INITRD_TABLE_OVERRIDE
216 217
	bool "ACPI tables override via initrd"
	depends on BLK_DEV_INITRD && X86
218 219 220 221 222 223 224
	default n
	help
	  This option provides functionality to override arbitrary ACPI tables
	  via initrd. No functional change if no ACPI tables are passed via
	  initrd, therefore it's safe to say Y.
	  See Documentation/acpi/initrd_table_override.txt for details

Linus Torvalds's avatar
Linus Torvalds committed
225 226 227 228
config ACPI_DEBUG
	bool "Debug Statements"
	default n
	help
229 230 231 232 233 234 235
	  The ACPI subsystem can produce debug output.  Saying Y enables this
	  output and increases the kernel size by around 50K.

	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
	  parameters documented in Documentation/acpi/debug.txt and
	  Documentation/kernel-parameters.txt to control the type and
	  amount of debug output.
Linus Torvalds's avatar
Linus Torvalds committed
236

237
config ACPI_PCI_SLOT
238
	bool "PCI slot detection driver"
239
	depends on SYSFS
240 241
	default n
	help
242 243 244 245 246
	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
	  slots in the system.  This can help correlate PCI bus addresses,
	  i.e., segment/bus/device/function tuples, with physical slots in
	  the system.  If you are unsure, say N.

Linus Torvalds's avatar
Linus Torvalds committed
247
config X86_PM_TIMER
248
	bool "Power Management Timer Support" if EXPERT
Linus Torvalds's avatar
Linus Torvalds committed
249
	depends on X86
250
	default y
Linus Torvalds's avatar
Linus Torvalds committed
251 252 253 254
	help
	  The Power Management Timer is available on all ACPI-capable,
	  in most cases even if ACPI is unusable or blacklisted.

Matt LaPlante's avatar
Matt LaPlante committed
255
	  This timing source is not affected by power management features
Linus Torvalds's avatar
Linus Torvalds committed
256 257 258 259
	  like aggressive processor idling, throttling, frequency and/or
	  voltage scaling, unlike the commonly used Time Stamp Counter
	  (TSC) timing source.

260 261
	  You should nearly always say Y here because many modern
	  systems require this timer. 
Linus Torvalds's avatar
Linus Torvalds committed
262 263

config ACPI_CONTAINER
264
	bool "Container and Module Devices"
265
	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
266 267 268
	help
	  This driver supports ACPI Container and Module devices (IDs
	  ACPI0004, PNP0A05, and PNP0A06).
269

270 271 272 273
	  This helps support hotplug of nodes, CPUs, and memory.

	  To compile this driver as a module, choose M here:
	  the module will be called container.
Linus Torvalds's avatar
Linus Torvalds committed
274 275

config ACPI_HOTPLUG_MEMORY
276
	bool "Memory Hotplug"
277
	depends on MEMORY_HOTPLUG
Linus Torvalds's avatar
Linus Torvalds committed
278
	help
279 280 281 282
	  This driver supports ACPI memory hotplug.  The driver
	  fields notifications on ACPI memory devices (PNP0C80),
	  which represent memory ranges that may be onlined or
	  offlined during runtime.
Linus Torvalds's avatar
Linus Torvalds committed
283

284 285 286
	  If your hardware and firmware do not support adding or
	  removing memory devices at runtime, you need not enable
	  this driver.
Linus Torvalds's avatar
Linus Torvalds committed
287

288 289
	  To compile this driver as a module, choose M here:
	  the module will be called acpi_memhotplug.
290 291

config ACPI_SBS
292
	tristate "Smart Battery System"
293
	depends on X86
294
	select POWER_SUPPLY
295
	help
296
	  This driver supports the Smart Battery System, another
297
	  type of access to battery information, found on some laptops.
298

299 300 301
	  To compile this driver as a module, choose M here:
	  the modules will be called sbs and sbshc.

302 303 304 305 306 307 308
config ACPI_HED
	tristate "Hardware Error Device"
	help
	  This driver supports the Hardware Error Device (PNP0C33),
	  which is used to report some hardware errors notified via
	  SCI, mainly the corrected errors.

309 310 311 312 313
config ACPI_CUSTOM_METHOD
	tristate "Allow ACPI methods to be inserted/replaced at run time"
	depends on DEBUG_FS
	default n
	help
314
	  This debug facility allows ACPI AML methods to be inserted and/or
315 316 317 318 319 320 321 322 323
	  replaced without rebooting the system. For details refer to:
	  Documentation/acpi/method-customizing.txt.

	  NOTE: This option is security sensitive, because it allows arbitrary
	  kernel memory to be written to by root (uid=0) users, allowing them
	  to bypass certain security measures (e.g. if root is not allowed to
	  load additional kernel modules after boot, this feature may be used
	  to override that restriction).

324
config ACPI_BGRT
325
	bool "Boottime Graphics Resource Table support"
326
	depends on EFI && X86
327 328 329 330 331 332
        help
	  This driver adds support for exposing the ACPI Boottime Graphics
	  Resource Table, which allows the operating system to obtain
	  data from the firmware boot splash. It will appear under
	  /sys/firmware/acpi/bgrt/ .

333 334 335 336 337 338 339 340 341 342 343 344 345
config ACPI_REDUCED_HARDWARE_ONLY
	bool "Hardware-reduced ACPI support only" if EXPERT
	def_bool n
	depends on ACPI
	help
	This config item changes the way the ACPI code is built.  When this
	option is selected, the kernel will use a specialized version of
	ACPICA that ONLY supports the ACPI "reduced hardware" mode.  The
	resulting kernel will be smaller but it will also be restricted to
	running in ACPI reduced hardware mode ONLY.

	If you are unsure what to do, do not enable this option.

346 347
source "drivers/acpi/apei/Kconfig"

348 349
config ACPI_EXTLOG
	tristate "Extended Error Log support"
350
	depends on X86_MCE && X86_LOCAL_APIC
351
	select UEFI_CPER
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367
	default n
	help
	  Certain usages such as Predictive Failure Analysis (PFA) require
	  more information about the error than what can be described in
	  processor machine check banks. Most server processors log
	  additional information about the error in processor uncore
	  registers. Since the addresses and layout of these registers vary
	  widely from one processor to another, system software cannot
	  readily make use of them. To complicate matters further, some of
	  the additional error information cannot be constructed without
	  detailed knowledge about platform topology.

	  Enhanced MCA Logging allows firmware to provide additional error
	  information to system software, synchronous with MCE or CMCI. This
	  driver adds support for that functionality.

Linus Torvalds's avatar
Linus Torvalds committed
368
endif	# ACPI