11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# ACPI Configuration 31da177e4SLinus Torvalds# 41da177e4SLinus Torvalds 53f2c48c9SJan Engelhardtmenuconfig ACPI 6355ee5ebSFrans Pop bool "ACPI (Advanced Configuration and Power Interface) Support" 71da177e4SLinus Torvalds depends on !IA64_HP_SIM 81da177e4SLinus Torvalds depends on IA64 || X86 91300124fSAdrian Bunk depends on PCI 10243b66e7SLen Brown select PNP 111da177e4SLinus Torvalds default y 121c48aa36SBjorn Helgaas help 131da177e4SLinus Torvalds Advanced Configuration and Power Interface (ACPI) support for 141c48aa36SBjorn Helgaas Linux requires an ACPI-compliant platform (hardware/firmware), 151da177e4SLinus Torvalds and assumes the presence of OS-directed configuration and power 161da177e4SLinus Torvalds management (OSPM) software. This option will enlarge your 171da177e4SLinus Torvalds kernel by about 70K. 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds Linux ACPI provides a robust functional replacement for several 201da177e4SLinus Torvalds legacy configuration and power management interfaces, including 211da177e4SLinus Torvalds the Plug-and-Play BIOS specification (PnP BIOS), the 221da177e4SLinus Torvalds MultiProcessor Specification (MPS), and the Advanced Power 231da177e4SLinus Torvalds Management (APM) specification. If both ACPI and APM support 241c48aa36SBjorn Helgaas are configured, ACPI is used. 251da177e4SLinus Torvalds 261c48aa36SBjorn Helgaas The project home page for the Linux ACPI subsystem is here: 27aaf3d29fSRafael J. Wysocki <https://01.org/linux-acpi> 281da177e4SLinus Torvalds 291da177e4SLinus Torvalds Linux support for ACPI is based on Intel Corporation's ACPI 301c48aa36SBjorn Helgaas Component Architecture (ACPI CA). For more information on the 311c48aa36SBjorn Helgaas ACPI CA, see: 321c48aa36SBjorn Helgaas <http://acpica.org/> 331da177e4SLinus Torvalds 341c48aa36SBjorn Helgaas ACPI is an open industry specification co-developed by 351c48aa36SBjorn Helgaas Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. 361c48aa36SBjorn Helgaas The specification is available at: 371da177e4SLinus Torvalds <http://www.acpi.info> 381da177e4SLinus Torvalds 393e11c3ceSLen Brownif ACPI 403e11c3ceSLen Brown 41673d5b43SLen Brownconfig ACPI_SLEEP 42673d5b43SLen Brown bool 435d1e072bSRafael J. Wysocki depends on SUSPEND || HIBERNATION 44673d5b43SLen Brown default y 45673d5b43SLen Brown 46b981c591SZhang Ruiconfig ACPI_PROCFS 47fb804714SLen Brown bool "Deprecated /proc/acpi files" 48fb804714SLen Brown depends on PROC_FS 491c48aa36SBjorn Helgaas help 50fb804714SLen Brown For backwards compatibility, this option allows 51405bbe9fSRolf Eike Beer deprecated /proc/acpi/ files to exist, even when 52fb804714SLen Brown they have been replaced by functions in /sys. 53fb804714SLen Brown 54fb804714SLen Brown This option has no effect on /proc/acpi/ files 55fb804714SLen Brown and functions which do not yet exist in /sys. 56fb804714SLen Brown 57fb804714SLen Brown Say N to delete /proc/acpi/ files that have moved to /sys/ 581c48aa36SBjorn Helgaas 59fdcedbbaSAlexey Starikovskiyconfig ACPI_PROCFS_POWER 609e527971SAlan Cox bool "Deprecated power /proc/acpi directories" 61fdcedbbaSAlexey Starikovskiy depends on PROC_FS 621c48aa36SBjorn Helgaas help 63fdcedbbaSAlexey Starikovskiy For backwards compatibility, this option allows 649e527971SAlan Cox deprecated power /proc/acpi/ directories to exist, even when 65fdcedbbaSAlexey Starikovskiy they have been replaced by functions in /sys. 669e527971SAlan Cox The deprecated directories (and their replacements) include: 67fdcedbbaSAlexey Starikovskiy /proc/acpi/battery/* (/sys/class/power_supply/*) 68fdcedbbaSAlexey Starikovskiy /proc/acpi/ac_adapter/* (sys/class/power_supply/*) 699e527971SAlan Cox This option has no effect on /proc/acpi/ directories 70fdcedbbaSAlexey Starikovskiy and functions, which do not yet exist in /sys 716d855fcdSZhang Rui This option, together with the proc directories, will be 726d855fcdSZhang Rui deleted in 2.6.39. 73b981c591SZhang Rui 749e527971SAlan Cox Say N to delete power /proc/acpi/ directories that have moved to /sys/ 759e527971SAlan Cox 761195a098SThomas Renningerconfig ACPI_EC_DEBUGFS 771195a098SThomas Renninger tristate "EC read/write access through /sys/kernel/debug/ec" 78500de3ddSThomas Renninger default n 791195a098SThomas Renninger help 801195a098SThomas Renninger Say N to disable Embedded Controller /sys/kernel/debug interface 811195a098SThomas Renninger 82500de3ddSThomas Renninger Be aware that using this interface can confuse your Embedded 83500de3ddSThomas Renninger Controller in a way that a normal reboot is not enough. You then 8425cb1bfdSAndrea Gelmini have to power off your system, and remove the laptop battery for 85500de3ddSThomas Renninger some seconds. 861195a098SThomas Renninger An Embedded Controller typically is available on laptops and reads 871195a098SThomas Renninger sensor values like battery state and temperature. 88500de3ddSThomas Renninger The kernel accesses the EC through ACPI parsed code provided by BIOS 89500de3ddSThomas Renninger tables. This option allows to access the EC directly without ACPI 90500de3ddSThomas Renninger code being involved. 911195a098SThomas Renninger Thus this option is a debug option that helps to write ACPI drivers 921195a098SThomas Renninger and can be used to identify ACPI code or EC firmware bugs. 931195a098SThomas Renninger 941da177e4SLinus Torvaldsconfig ACPI_AC 951da177e4SLinus Torvalds tristate "AC Adapter" 965527c8beSAlexey Starikovskiy depends on X86 971b3d4c3bSZhang Rui select POWER_SUPPLY 9807fefe4cSLen Brown default y 991da177e4SLinus Torvalds help 1001c48aa36SBjorn Helgaas This driver supports the AC Adapter object, which indicates 1011c48aa36SBjorn Helgaas whether a system is on AC or not. If you have a system that can 10207fefe4cSLen Brown switch between A/C and battery, say Y. 1031da177e4SLinus Torvalds 1041c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1051c48aa36SBjorn Helgaas the module will be called ac. 1061c48aa36SBjorn Helgaas 1071da177e4SLinus Torvaldsconfig ACPI_BATTERY 1081da177e4SLinus Torvalds tristate "Battery" 1095527c8beSAlexey Starikovskiy depends on X86 1101b3d4c3bSZhang Rui select POWER_SUPPLY 11107fefe4cSLen Brown default y 1121da177e4SLinus Torvalds help 1131da177e4SLinus Torvalds This driver adds support for battery information through 1141da177e4SLinus Torvalds /proc/acpi/battery. If you have a mobile system with a battery, 1151da177e4SLinus Torvalds say Y. 1161da177e4SLinus Torvalds 1171c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1181c48aa36SBjorn Helgaas the module will be called battery. 1191c48aa36SBjorn Helgaas 1201da177e4SLinus Torvaldsconfig ACPI_BUTTON 1211da177e4SLinus Torvalds tristate "Button" 122c0968f0eSDmitry Torokhov depends on INPUT 12307fefe4cSLen Brown default y 1241da177e4SLinus Torvalds help 1251c48aa36SBjorn Helgaas This driver handles events on the power, sleep, and lid buttons. 126*7d13f94cSKrzysztof Mazur A daemon reads events from input devices or via netlink and 127*7d13f94cSKrzysztof Mazur performs user-defined actions such as shutting down the system. 128*7d13f94cSKrzysztof Mazur This is necessary for software-controlled poweroff. 1291c48aa36SBjorn Helgaas 1301c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1311c48aa36SBjorn Helgaas the module will be called button. 1321da177e4SLinus Torvalds 1331da177e4SLinus Torvaldsconfig ACPI_VIDEO 1341da177e4SLinus Torvalds tristate "Video" 13523b0f015SLuming Yu depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL 13603e2bf26SAndreas Herrmann depends on INPUT 13763c4ec90SZhang Rui select THERMAL 1381da177e4SLinus Torvalds help 1391c48aa36SBjorn Helgaas This driver implements the ACPI Extensions For Display Adapters 1401da177e4SLinus Torvalds for integrated graphics devices on motherboard, as specified in 1411c48aa36SBjorn Helgaas ACPI 2.0 Specification, Appendix B. This supports basic operations 1421c48aa36SBjorn Helgaas such as defining the video POST device, retrieving EDID information, 1431c48aa36SBjorn Helgaas and setting up a video output. 1441c48aa36SBjorn Helgaas 1451c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1461c48aa36SBjorn Helgaas the module will be called video. 1471da177e4SLinus Torvalds 1481da177e4SLinus Torvaldsconfig ACPI_FAN 1491da177e4SLinus Torvalds tristate "Fan" 15063c4ec90SZhang Rui select THERMAL 15107fefe4cSLen Brown default y 1521da177e4SLinus Torvalds help 1531c48aa36SBjorn Helgaas This driver supports ACPI fan devices, allowing user-mode 1541da177e4SLinus Torvalds applications to perform basic fan control (on, off, status). 1551da177e4SLinus Torvalds 1561c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1571c48aa36SBjorn Helgaas the module will be called fan. 1581c48aa36SBjorn Helgaas 159c8f7a62cSLen Brownconfig ACPI_DOCK 160898b054fSShaohua Li bool "Dock" 161c8f7a62cSLen Brown help 1621c48aa36SBjorn Helgaas This driver supports ACPI-controlled docking stations and removable 1631c48aa36SBjorn Helgaas drive bays such as the IBM Ultrabay and the Dell Module Bay. 16401b57e73SKristen Carlson Accardi 1651da177e4SLinus Torvaldsconfig ACPI_PROCESSOR 1661da177e4SLinus Torvalds tristate "Processor" 16763c4ec90SZhang Rui select THERMAL 168a4084c14SJean Delvare select CPU_IDLE 16907fefe4cSLen Brown default y 1701da177e4SLinus Torvalds help 1711c48aa36SBjorn Helgaas This driver installs ACPI as the idle handler for Linux and uses 1721c48aa36SBjorn Helgaas ACPI C2 and C3 processor states to save power on systems that 17307fefe4cSLen Brown support it. It is required by several flavors of cpufreq 1741c48aa36SBjorn Helgaas performance-state drivers. 1751c48aa36SBjorn Helgaas 1761c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1771c48aa36SBjorn Helgaas the module will be called processor. 178e92b297cSZhao Yakuiconfig ACPI_IPMI 179e92b297cSZhao Yakui tristate "IPMI" 180f756f28bSKees Cook depends on IPMI_SI && IPMI_HANDLER 181e92b297cSZhao Yakui default n 182e92b297cSZhao Yakui help 183e92b297cSZhao Yakui This driver enables the ACPI to access the BMC controller. And it 184e92b297cSZhao Yakui uses the IPMI request/response message to communicate with BMC 185e92b297cSZhao Yakui controller, which can be found on on the server. 186e92b297cSZhao Yakui 187e92b297cSZhao Yakui To compile this driver as a module, choose M here: 188e92b297cSZhao Yakui the module will be called as acpi_ipmi. 1891da177e4SLinus Torvalds 1901da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU 191cbfc1baeSAdrian Bunk bool 192f756f28bSKees Cook depends on ACPI_PROCESSOR && HOTPLUG_CPU 1931da177e4SLinus Torvalds select ACPI_CONTAINER 194cbfc1baeSAdrian Bunk default y 1951da177e4SLinus Torvalds 1968e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR 1978e0af514SShaohua Li tristate "Processor Aggregator" 1988e0af514SShaohua Li depends on ACPI_PROCESSOR 199d91f79ebSLen Brown depends on X86 2008e0af514SShaohua Li help 2018e0af514SShaohua Li ACPI 4.0 defines processor Aggregator, which enables OS to perform 202c4c4e2a5SJiri Slaby specific processor configuration and control that applies to all 2038e0af514SShaohua Li processors in the platform. Currently only logical processor idling 2048e0af514SShaohua Li is defined, which is to reduce power consumption. This driver 205c4c4e2a5SJiri Slaby supports the new device. 2068e0af514SShaohua Li 2071da177e4SLinus Torvaldsconfig ACPI_THERMAL 2081da177e4SLinus Torvalds tristate "Thermal Zone" 2091da177e4SLinus Torvalds depends on ACPI_PROCESSOR 2103f655ef8SZhang Rui select THERMAL 21107fefe4cSLen Brown default y 2121da177e4SLinus Torvalds help 2131c48aa36SBjorn Helgaas This driver supports ACPI thermal zones. Most mobile and 2141da177e4SLinus Torvalds some desktop systems support ACPI thermal zones. It is HIGHLY 2151da177e4SLinus Torvalds recommended that this option be enabled, as your processor(s) 2161da177e4SLinus Torvalds may be damaged without it. 2171da177e4SLinus Torvalds 2181c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2191c48aa36SBjorn Helgaas the module will be called thermal. 2201c48aa36SBjorn Helgaas 2211da177e4SLinus Torvaldsconfig ACPI_NUMA 2221da177e4SLinus Torvalds bool "NUMA support" 2231da177e4SLinus Torvalds depends on NUMA 224762834e8SYasunori Goto depends on (X86 || IA64) 2251da177e4SLinus Torvalds default y if IA64_GENERIC || IA64_SGI_SN2 2261da177e4SLinus Torvalds 2277ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE 2287ce9573eSRandy Dunlap string "Custom DSDT Table file to include" 2297ce9573eSRandy Dunlap default "" 2301da177e4SLinus Torvalds depends on !STANDALONE 2311da177e4SLinus Torvalds help 232d89e9d6bSLen Brown This option supports a custom DSDT by linking it into the kernel. 233d89e9d6bSLen Brown See Documentation/acpi/dsdt-override.txt 234d89e9d6bSLen Brown 235c30fe7f7SUwe Zeisberger Enter the full path name to the file which includes the AmlCode 236c30fe7f7SUwe Zeisberger declaration. 2371da177e4SLinus Torvalds 2387ce9573eSRandy Dunlap If unsure, don't enter a file name. 2397ce9573eSRandy Dunlap 2407ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT 2417ce9573eSRandy Dunlap bool 2427ce9573eSRandy Dunlap default ACPI_CUSTOM_DSDT_FILE != "" 2437ce9573eSRandy Dunlap 24453aac44cSThomas Renningerconfig ACPI_INITRD_TABLE_OVERRIDE 245565d956aSThomas Renninger bool "ACPI tables override via initrd" 246565d956aSThomas Renninger depends on BLK_DEV_INITRD && X86 24753aac44cSThomas Renninger default n 24853aac44cSThomas Renninger help 24953aac44cSThomas Renninger This option provides functionality to override arbitrary ACPI tables 25053aac44cSThomas Renninger via initrd. No functional change if no ACPI tables are passed via 25153aac44cSThomas Renninger initrd, therefore it's safe to say Y. 25253aac44cSThomas Renninger See Documentation/acpi/initrd_table_override.txt for details 25353aac44cSThomas Renninger 2541da177e4SLinus Torvaldsconfig ACPI_BLACKLIST_YEAR 2552eb1bdbaSAndi Kleen int "Disable ACPI for systems before Jan 1st this year" if X86_32 2561da177e4SLinus Torvalds default 0 2571da177e4SLinus Torvalds help 2581c48aa36SBjorn Helgaas Enter a 4-digit year, e.g., 2001, to disable ACPI by default 2591da177e4SLinus Torvalds on platforms with DMI BIOS date before January 1st that year. 2601da177e4SLinus Torvalds "acpi=force" can be used to override this mechanism. 2611da177e4SLinus Torvalds 2621da177e4SLinus Torvalds Enter 0 to disable this mechanism and allow ACPI to 2631da177e4SLinus Torvalds run by default no matter what the year. (default) 2641da177e4SLinus Torvalds 2651da177e4SLinus Torvaldsconfig ACPI_DEBUG 2661da177e4SLinus Torvalds bool "Debug Statements" 2671da177e4SLinus Torvalds default n 2681da177e4SLinus Torvalds help 269a0d84a92SBjorn Helgaas The ACPI subsystem can produce debug output. Saying Y enables this 270a0d84a92SBjorn Helgaas output and increases the kernel size by around 50K. 271a0d84a92SBjorn Helgaas 272a0d84a92SBjorn Helgaas Use the acpi.debug_layer and acpi.debug_level kernel command-line 273a0d84a92SBjorn Helgaas parameters documented in Documentation/acpi/debug.txt and 274a0d84a92SBjorn Helgaas Documentation/kernel-parameters.txt to control the type and 275a0d84a92SBjorn Helgaas amount of debug output. 2761da177e4SLinus Torvalds 2778344b568SAlex Chiangconfig ACPI_PCI_SLOT 278ab1a2e03SJiang Liu bool "PCI slot detection driver" 279268a03a4SAlex Chiang depends on SYSFS 2808344b568SAlex Chiang default n 2818344b568SAlex Chiang help 2821c48aa36SBjorn Helgaas This driver creates entries in /sys/bus/pci/slots/ for all PCI 2831c48aa36SBjorn Helgaas slots in the system. This can help correlate PCI bus addresses, 2841c48aa36SBjorn Helgaas i.e., segment/bus/device/function tuples, with physical slots in 2851c48aa36SBjorn Helgaas the system. If you are unsure, say N. 2861c48aa36SBjorn Helgaas 2871da177e4SLinus Torvaldsconfig X86_PM_TIMER 2886a108a14SDavid Rientjes bool "Power Management Timer Support" if EXPERT 2891da177e4SLinus Torvalds depends on X86 29007fefe4cSLen Brown default y 2911da177e4SLinus Torvalds help 2921da177e4SLinus Torvalds The Power Management Timer is available on all ACPI-capable, 2931da177e4SLinus Torvalds in most cases even if ACPI is unusable or blacklisted. 2941da177e4SLinus Torvalds 2951da177e4SLinus Torvalds This timing source is not affected by power management features 2961da177e4SLinus Torvalds like aggressive processor idling, throttling, frequency and/or 2971da177e4SLinus Torvalds voltage scaling, unlike the commonly used Time Stamp Counter 2981da177e4SLinus Torvalds (TSC) timing source. 2991da177e4SLinus Torvalds 300e78256b8SAndi Kleen You should nearly always say Y here because many modern 301e78256b8SAndi Kleen systems require this timer. 3021da177e4SLinus Torvalds 3031da177e4SLinus Torvaldsconfig ACPI_CONTAINER 30406991c28SLinus Torvalds bool "Container and Module Devices" 305ea6a4581SPaul Bolle default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) 3061c48aa36SBjorn Helgaas help 3071c48aa36SBjorn Helgaas This driver supports ACPI Container and Module devices (IDs 3081c48aa36SBjorn Helgaas ACPI0004, PNP0A05, and PNP0A06). 30945b1b196SKeiichiro Tokunaga 3101c48aa36SBjorn Helgaas This helps support hotplug of nodes, CPUs, and memory. 3111c48aa36SBjorn Helgaas 3121c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3131c48aa36SBjorn Helgaas the module will be called container. 3141da177e4SLinus Torvalds 3151da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY 3160a347644SRafael J. Wysocki bool "Memory Hotplug" 317bc02af93SYasunori Goto depends on MEMORY_HOTPLUG 3181da177e4SLinus Torvalds help 3191c48aa36SBjorn Helgaas This driver supports ACPI memory hotplug. The driver 3201c48aa36SBjorn Helgaas fields notifications on ACPI memory devices (PNP0C80), 3211c48aa36SBjorn Helgaas which represent memory ranges that may be onlined or 3221c48aa36SBjorn Helgaas offlined during runtime. 3231da177e4SLinus Torvalds 3241c48aa36SBjorn Helgaas If your hardware and firmware do not support adding or 3251c48aa36SBjorn Helgaas removing memory devices at runtime, you need not enable 3261c48aa36SBjorn Helgaas this driver. 3271da177e4SLinus Torvalds 3281c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3291c48aa36SBjorn Helgaas the module will be called acpi_memhotplug. 3303f86b832SRich Townsend 3313f86b832SRich Townsendconfig ACPI_SBS 33294f6c086SAlexey Starikovskiy tristate "Smart Battery System" 333b4150fc4SVladimir Lebedev depends on X86 3341b3d4c3bSZhang Rui select POWER_SUPPLY 3353f86b832SRich Townsend help 3361c48aa36SBjorn Helgaas This driver supports the Smart Battery System, another 33794f6c086SAlexey Starikovskiy type of access to battery information, found on some laptops. 3383f86b832SRich Townsend 3391c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3401c48aa36SBjorn Helgaas the modules will be called sbs and sbshc. 3411c48aa36SBjorn Helgaas 342801eab81SHuang Yingconfig ACPI_HED 343801eab81SHuang Ying tristate "Hardware Error Device" 344801eab81SHuang Ying help 345801eab81SHuang Ying This driver supports the Hardware Error Device (PNP0C33), 346801eab81SHuang Ying which is used to report some hardware errors notified via 347801eab81SHuang Ying SCI, mainly the corrected errors. 348801eab81SHuang Ying 349526b4af4SThomas Renningerconfig ACPI_CUSTOM_METHOD 350526b4af4SThomas Renninger tristate "Allow ACPI methods to be inserted/replaced at run time" 351526b4af4SThomas Renninger depends on DEBUG_FS 352526b4af4SThomas Renninger default n 353526b4af4SThomas Renninger help 354bd1b2a55SJustin P. Mattock This debug facility allows ACPI AML methods to be inserted and/or 355526b4af4SThomas Renninger replaced without rebooting the system. For details refer to: 356526b4af4SThomas Renninger Documentation/acpi/method-customizing.txt. 357526b4af4SThomas Renninger 358526b4af4SThomas Renninger NOTE: This option is security sensitive, because it allows arbitrary 359526b4af4SThomas Renninger kernel memory to be written to by root (uid=0) users, allowing them 360526b4af4SThomas Renninger to bypass certain security measures (e.g. if root is not allowed to 361526b4af4SThomas Renninger load additional kernel modules after boot, this feature may be used 362526b4af4SThomas Renninger to override that restriction). 363526b4af4SThomas Renninger 364d1ff4b1cSMatthew Garrettconfig ACPI_BGRT 3652223af38SJosh Triplett bool "Boottime Graphics Resource Table support" 366e66cd537STony Luck depends on EFI && X86 367d1ff4b1cSMatthew Garrett help 368d1ff4b1cSMatthew Garrett This driver adds support for exposing the ACPI Boottime Graphics 369d1ff4b1cSMatthew Garrett Resource Table, which allows the operating system to obtain 370d1ff4b1cSMatthew Garrett data from the firmware boot splash. It will appear under 371d1ff4b1cSMatthew Garrett /sys/firmware/acpi/bgrt/ . 372d1ff4b1cSMatthew Garrett 373a643ce20SHuang Yingsource "drivers/acpi/apei/Kconfig" 374a643ce20SHuang Ying 3751da177e4SLinus Torvaldsendif # ACPI 376