1# 2# ACPI Configuration 3# 4 5menuconfig ACPI 6 bool "ACPI (Advanced Configuration and Power Interface) Support" 7 depends on !IA64_HP_SIM 8 depends on IA64 || X86 9 depends on PCI 10 select PNP 11 default y 12 help 13 Advanced Configuration and Power Interface (ACPI) support for 14 Linux requires an ACPI-compliant platform (hardware/firmware), 15 and assumes the presence of OS-directed configuration and power 16 management (OSPM) software. This option will enlarge your 17 kernel by about 70K. 18 19 Linux ACPI provides a robust functional replacement for several 20 legacy configuration and power management interfaces, including 21 the Plug-and-Play BIOS specification (PnP BIOS), the 22 MultiProcessor Specification (MPS), and the Advanced Power 23 Management (APM) specification. If both ACPI and APM support 24 are configured, ACPI is used. 25 26 The project home page for the Linux ACPI subsystem is here: 27 <https://01.org/linux-acpi> 28 29 Linux support for ACPI is based on Intel Corporation's ACPI 30 Component Architecture (ACPI CA). For more information on the 31 ACPI CA, see: 32 <http://acpica.org/> 33 34 ACPI is an open industry specification co-developed by 35 Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. 36 The specification is available at: 37 <http://www.acpi.info> 38 39if ACPI 40 41config ACPI_SLEEP 42 bool 43 depends on SUSPEND || HIBERNATION 44 default y 45 46config ACPI_PROCFS 47 bool "Deprecated /proc/acpi files" 48 depends on PROC_FS 49 help 50 For backwards compatibility, this option allows 51 deprecated /proc/acpi/ files to exist, even when 52 they have been replaced by functions in /sys. 53 54 This option has no effect on /proc/acpi/ files 55 and functions which do not yet exist in /sys. 56 57 Say N to delete /proc/acpi/ files that have moved to /sys/ 58 59config ACPI_EC_DEBUGFS 60 tristate "EC read/write access through /sys/kernel/debug/ec" 61 default n 62 help 63 Say N to disable Embedded Controller /sys/kernel/debug interface 64 65 Be aware that using this interface can confuse your Embedded 66 Controller in a way that a normal reboot is not enough. You then 67 have to power off your system, and remove the laptop battery for 68 some seconds. 69 An Embedded Controller typically is available on laptops and reads 70 sensor values like battery state and temperature. 71 The kernel accesses the EC through ACPI parsed code provided by BIOS 72 tables. This option allows to access the EC directly without ACPI 73 code being involved. 74 Thus this option is a debug option that helps to write ACPI drivers 75 and can be used to identify ACPI code or EC firmware bugs. 76 77config ACPI_AC 78 tristate "AC Adapter" 79 depends on X86 80 select POWER_SUPPLY 81 default y 82 help 83 This driver supports the AC Adapter object, which indicates 84 whether a system is on AC or not. If you have a system that can 85 switch between A/C and battery, say Y. 86 87 To compile this driver as a module, choose M here: 88 the module will be called ac. 89 90config ACPI_BATTERY 91 tristate "Battery" 92 depends on X86 93 select POWER_SUPPLY 94 default y 95 help 96 This driver adds support for battery information through 97 /proc/acpi/battery. If you have a mobile system with a battery, 98 say Y. 99 100 To compile this driver as a module, choose M here: 101 the module will be called battery. 102 103config ACPI_BUTTON 104 tristate "Button" 105 depends on INPUT 106 default y 107 help 108 This driver handles events on the power, sleep, and lid buttons. 109 A daemon reads events from input devices or via netlink and 110 performs user-defined actions such as shutting down the system. 111 This is necessary for software-controlled poweroff. 112 113 To compile this driver as a module, choose M here: 114 the module will be called button. 115 116config ACPI_VIDEO 117 tristate "Video" 118 depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL 119 depends on INPUT 120 select THERMAL 121 help 122 This driver implements the ACPI Extensions For Display Adapters 123 for integrated graphics devices on motherboard, as specified in 124 ACPI 2.0 Specification, Appendix B. This supports basic operations 125 such as defining the video POST device, retrieving EDID information, 126 and setting up a video output. 127 128 To compile this driver as a module, choose M here: 129 the module will be called video. 130 131config ACPI_FAN 132 tristate "Fan" 133 select THERMAL 134 default y 135 help 136 This driver supports ACPI fan devices, allowing user-mode 137 applications to perform basic fan control (on, off, status). 138 139 To compile this driver as a module, choose M here: 140 the module will be called fan. 141 142config ACPI_DOCK 143 bool "Dock" 144 help 145 This driver supports ACPI-controlled docking stations and removable 146 drive bays such as the IBM Ultrabay and the Dell Module Bay. 147 148config ACPI_PROCESSOR 149 tristate "Processor" 150 select THERMAL 151 select CPU_IDLE 152 default y 153 help 154 This driver installs ACPI as the idle handler for Linux and uses 155 ACPI C2 and C3 processor states to save power on systems that 156 support it. It is required by several flavors of cpufreq 157 performance-state drivers. 158 159 To compile this driver as a module, choose M here: 160 the module will be called processor. 161 162config ACPI_IPMI 163 tristate "IPMI" 164 depends on IPMI_SI 165 default n 166 help 167 This driver enables the ACPI to access the BMC controller. And it 168 uses the IPMI request/response message to communicate with BMC 169 controller, which can be found on on the server. 170 171 To compile this driver as a module, choose M here: 172 the module will be called as acpi_ipmi. 173 174config ACPI_HOTPLUG_CPU 175 bool 176 depends on ACPI_PROCESSOR && HOTPLUG_CPU 177 select ACPI_CONTAINER 178 default y 179 180config ACPI_PROCESSOR_AGGREGATOR 181 tristate "Processor Aggregator" 182 depends on ACPI_PROCESSOR 183 depends on X86 184 help 185 ACPI 4.0 defines processor Aggregator, which enables OS to perform 186 specific processor configuration and control that applies to all 187 processors in the platform. Currently only logical processor idling 188 is defined, which is to reduce power consumption. This driver 189 supports the new device. 190 191config ACPI_THERMAL 192 tristate "Thermal Zone" 193 depends on ACPI_PROCESSOR 194 select THERMAL 195 default y 196 help 197 This driver supports ACPI thermal zones. Most mobile and 198 some desktop systems support ACPI thermal zones. It is HIGHLY 199 recommended that this option be enabled, as your processor(s) 200 may be damaged without it. 201 202 To compile this driver as a module, choose M here: 203 the module will be called thermal. 204 205config ACPI_NUMA 206 bool "NUMA support" 207 depends on NUMA 208 depends on (X86 || IA64) 209 default y if IA64_GENERIC || IA64_SGI_SN2 210 211config ACPI_CUSTOM_DSDT_FILE 212 string "Custom DSDT Table file to include" 213 default "" 214 depends on !STANDALONE 215 help 216 This option supports a custom DSDT by linking it into the kernel. 217 See Documentation/acpi/dsdt-override.txt 218 219 Enter the full path name to the file which includes the AmlCode 220 declaration. 221 222 If unsure, don't enter a file name. 223 224config ACPI_CUSTOM_DSDT 225 bool 226 default ACPI_CUSTOM_DSDT_FILE != "" 227 228config ACPI_INITRD_TABLE_OVERRIDE 229 bool "ACPI tables override via initrd" 230 depends on BLK_DEV_INITRD && X86 231 default n 232 help 233 This option provides functionality to override arbitrary ACPI tables 234 via initrd. No functional change if no ACPI tables are passed via 235 initrd, therefore it's safe to say Y. 236 See Documentation/acpi/initrd_table_override.txt for details 237 238config ACPI_DEBUG 239 bool "Debug Statements" 240 default n 241 help 242 The ACPI subsystem can produce debug output. Saying Y enables this 243 output and increases the kernel size by around 50K. 244 245 Use the acpi.debug_layer and acpi.debug_level kernel command-line 246 parameters documented in Documentation/acpi/debug.txt and 247 Documentation/kernel-parameters.txt to control the type and 248 amount of debug output. 249 250config ACPI_PCI_SLOT 251 bool "PCI slot detection driver" 252 depends on SYSFS 253 default n 254 help 255 This driver creates entries in /sys/bus/pci/slots/ for all PCI 256 slots in the system. This can help correlate PCI bus addresses, 257 i.e., segment/bus/device/function tuples, with physical slots in 258 the system. If you are unsure, say N. 259 260config X86_PM_TIMER 261 bool "Power Management Timer Support" if EXPERT 262 depends on X86 263 default y 264 help 265 The Power Management Timer is available on all ACPI-capable, 266 in most cases even if ACPI is unusable or blacklisted. 267 268 This timing source is not affected by power management features 269 like aggressive processor idling, throttling, frequency and/or 270 voltage scaling, unlike the commonly used Time Stamp Counter 271 (TSC) timing source. 272 273 You should nearly always say Y here because many modern 274 systems require this timer. 275 276config ACPI_CONTAINER 277 bool "Container and Module Devices" 278 default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) 279 help 280 This driver supports ACPI Container and Module devices (IDs 281 ACPI0004, PNP0A05, and PNP0A06). 282 283 This helps support hotplug of nodes, CPUs, and memory. 284 285 To compile this driver as a module, choose M here: 286 the module will be called container. 287 288config ACPI_HOTPLUG_MEMORY 289 bool "Memory Hotplug" 290 depends on MEMORY_HOTPLUG 291 help 292 This driver supports ACPI memory hotplug. The driver 293 fields notifications on ACPI memory devices (PNP0C80), 294 which represent memory ranges that may be onlined or 295 offlined during runtime. 296 297 If your hardware and firmware do not support adding or 298 removing memory devices at runtime, you need not enable 299 this driver. 300 301 To compile this driver as a module, choose M here: 302 the module will be called acpi_memhotplug. 303 304config ACPI_SBS 305 tristate "Smart Battery System" 306 depends on X86 307 select POWER_SUPPLY 308 help 309 This driver supports the Smart Battery System, another 310 type of access to battery information, found on some laptops. 311 312 To compile this driver as a module, choose M here: 313 the modules will be called sbs and sbshc. 314 315config ACPI_HED 316 tristate "Hardware Error Device" 317 help 318 This driver supports the Hardware Error Device (PNP0C33), 319 which is used to report some hardware errors notified via 320 SCI, mainly the corrected errors. 321 322config ACPI_CUSTOM_METHOD 323 tristate "Allow ACPI methods to be inserted/replaced at run time" 324 depends on DEBUG_FS 325 default n 326 help 327 This debug facility allows ACPI AML methods to be inserted and/or 328 replaced without rebooting the system. For details refer to: 329 Documentation/acpi/method-customizing.txt. 330 331 NOTE: This option is security sensitive, because it allows arbitrary 332 kernel memory to be written to by root (uid=0) users, allowing them 333 to bypass certain security measures (e.g. if root is not allowed to 334 load additional kernel modules after boot, this feature may be used 335 to override that restriction). 336 337config ACPI_BGRT 338 bool "Boottime Graphics Resource Table support" 339 depends on EFI && X86 340 help 341 This driver adds support for exposing the ACPI Boottime Graphics 342 Resource Table, which allows the operating system to obtain 343 data from the firmware boot splash. It will appear under 344 /sys/firmware/acpi/bgrt/ . 345 346source "drivers/acpi/apei/Kconfig" 347 348config ACPI_EXTLOG 349 tristate "Extended Error Log support" 350 depends on X86_MCE && X86_LOCAL_APIC 351 select UEFI_CPER 352 default n 353 help 354 Certain usages such as Predictive Failure Analysis (PFA) require 355 more information about the error than what can be described in 356 processor machine check banks. Most server processors log 357 additional information about the error in processor uncore 358 registers. Since the addresses and layout of these registers vary 359 widely from one processor to another, system software cannot 360 readily make use of them. To complicate matters further, some of 361 the additional error information cannot be constructed without 362 detailed knowledge about platform topology. 363 364 Enhanced MCA Logging allows firmware to provide additional error 365 information to system software, synchronous with MCE or CMCI. This 366 driver adds support for that functionality. 367 368endif # ACPI 369