xref: /linux/drivers/acpi/Kconfig (revision d91f79ebc3191b15dbe385925af4840f4e68df77)
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
106796a120SAndrew Morton	depends on PM
11243b66e7SLen Brown	select PNP
129fdd54f2SLen Brown	select CPU_IDLE
131da177e4SLinus Torvalds	default y
141c48aa36SBjorn Helgaas	help
151da177e4SLinus Torvalds	  Advanced Configuration and Power Interface (ACPI) support for
161c48aa36SBjorn Helgaas	  Linux requires an ACPI-compliant platform (hardware/firmware),
171da177e4SLinus Torvalds	  and assumes the presence of OS-directed configuration and power
181da177e4SLinus Torvalds	  management (OSPM) software.  This option will enlarge your
191da177e4SLinus Torvalds	  kernel by about 70K.
201da177e4SLinus Torvalds
211da177e4SLinus Torvalds	  Linux ACPI provides a robust functional replacement for several
221da177e4SLinus Torvalds	  legacy configuration and power management interfaces, including
231da177e4SLinus Torvalds	  the Plug-and-Play BIOS specification (PnP BIOS), the
241da177e4SLinus Torvalds	  MultiProcessor Specification (MPS), and the Advanced Power
251da177e4SLinus Torvalds	  Management (APM) specification.  If both ACPI and APM support
261c48aa36SBjorn Helgaas	  are configured, ACPI is used.
271da177e4SLinus Torvalds
281c48aa36SBjorn Helgaas	  The project home page for the Linux ACPI subsystem is here:
291c48aa36SBjorn Helgaas	  <http://www.lesswatts.org/projects/acpi/>
301da177e4SLinus Torvalds
311da177e4SLinus Torvalds	  Linux support for ACPI is based on Intel Corporation's ACPI
321c48aa36SBjorn Helgaas	  Component Architecture (ACPI CA).  For more information on the
331c48aa36SBjorn Helgaas	  ACPI CA, see:
341c48aa36SBjorn Helgaas	  <http://acpica.org/>
351da177e4SLinus Torvalds
361c48aa36SBjorn Helgaas	  ACPI is an open industry specification co-developed by
371c48aa36SBjorn Helgaas	  Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
381c48aa36SBjorn Helgaas	  The specification is available at:
391da177e4SLinus Torvalds	  <http://www.acpi.info>
401da177e4SLinus Torvalds
413e11c3ceSLen Brownif ACPI
423e11c3ceSLen Brown
43673d5b43SLen Brownconfig ACPI_SLEEP
44673d5b43SLen Brown	bool
455d1e072bSRafael J. Wysocki	depends on SUSPEND || HIBERNATION
46673d5b43SLen Brown	default y
47673d5b43SLen Brown
48b981c591SZhang Ruiconfig ACPI_PROCFS
49fb804714SLen Brown	bool "Deprecated /proc/acpi files"
50fb804714SLen Brown	depends on PROC_FS
511c48aa36SBjorn Helgaas	help
52fb804714SLen Brown	  For backwards compatibility, this option allows
53405bbe9fSRolf Eike Beer	  deprecated /proc/acpi/ files to exist, even when
54fb804714SLen Brown	  they have been replaced by functions in /sys.
55fb804714SLen Brown	  The deprecated files (and their replacements) include:
56fb804714SLen Brown
5743532c8aSLen Brown	  /proc/acpi/sleep (/sys/power/state)
581c48aa36SBjorn Helgaas	  /proc/acpi/info (/sys/module/acpi/parameters/acpica_version)
59fb804714SLen Brown	  /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
60fb804714SLen Brown	  /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
61fb804714SLen Brown	  /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
62fb804714SLen Brown	  /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
63fb804714SLen Brown
64fb804714SLen Brown	  This option has no effect on /proc/acpi/ files
65fb804714SLen Brown	  and functions which do not yet exist in /sys.
66fb804714SLen Brown
67fb804714SLen Brown	  Say N to delete /proc/acpi/ files that have moved to /sys/
681c48aa36SBjorn Helgaas
69fdcedbbaSAlexey Starikovskiyconfig ACPI_PROCFS_POWER
709e527971SAlan Cox	bool "Deprecated power /proc/acpi directories"
71fdcedbbaSAlexey Starikovskiy	depends on PROC_FS
72fdcedbbaSAlexey Starikovskiy	default y
731c48aa36SBjorn Helgaas	help
74fdcedbbaSAlexey Starikovskiy	  For backwards compatibility, this option allows
759e527971SAlan Cox          deprecated power /proc/acpi/ directories to exist, even when
76fdcedbbaSAlexey Starikovskiy          they have been replaced by functions in /sys.
779e527971SAlan Cox          The deprecated directories (and their replacements) include:
78fdcedbbaSAlexey Starikovskiy	  /proc/acpi/battery/* (/sys/class/power_supply/*)
79fdcedbbaSAlexey Starikovskiy	  /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
809e527971SAlan Cox	  This option has no effect on /proc/acpi/ directories
81fdcedbbaSAlexey Starikovskiy	  and functions, which do not yet exist in /sys
82b981c591SZhang Rui
839e527971SAlan Cox	  Say N to delete power /proc/acpi/ directories that have moved to /sys/
849e527971SAlan Cox
8597749cd9SAlexey Starikovskiyconfig ACPI_SYSFS_POWER
8697749cd9SAlexey Starikovskiy	bool "Future power /sys interface"
8797749cd9SAlexey Starikovskiy	select POWER_SUPPLY
8897749cd9SAlexey Starikovskiy	default y
891c48aa36SBjorn Helgaas	help
9097749cd9SAlexey Starikovskiy	  Say N to disable power /sys interface
919e527971SAlan Cox
9214e04fb3SLen Brownconfig ACPI_PROC_EVENT
9314e04fb3SLen Brown	bool "Deprecated /proc/acpi/event support"
9414e04fb3SLen Brown	depends on PROC_FS
95721ebe00SHugh Dickins	default y
961c48aa36SBjorn Helgaas	help
971c48aa36SBjorn Helgaas	  A user-space daemon, acpid, typically reads /proc/acpi/event
981c48aa36SBjorn Helgaas	  and handles all ACPI-generated events.
9914e04fb3SLen Brown
1001c48aa36SBjorn Helgaas	  These events are now delivered to user-space either
1011c48aa36SBjorn Helgaas	  via the input layer or as netlink events.
10214e04fb3SLen Brown
103721ebe00SHugh Dickins	  This build option enables the old code for legacy
10414e04fb3SLen Brown	  user-space implementation.  After some time, this will
10514e04fb3SLen Brown	  be moved under CONFIG_ACPI_PROCFS, and then deleted.
10614e04fb3SLen Brown
107721ebe00SHugh Dickins	  Say Y here to retain the old behaviour.  Say N if your
108721ebe00SHugh Dickins	  user-space is newer than kernel 2.6.23 (September 2007).
109721ebe00SHugh Dickins
1101da177e4SLinus Torvaldsconfig ACPI_AC
1111da177e4SLinus Torvalds	tristate "AC Adapter"
1125527c8beSAlexey Starikovskiy	depends on X86
11307fefe4cSLen Brown	default y
1141da177e4SLinus Torvalds	help
1151c48aa36SBjorn Helgaas	  This driver supports the AC Adapter object, which indicates
1161c48aa36SBjorn Helgaas	  whether a system is on AC or not.  If you have a system that can
11707fefe4cSLen Brown	  switch between A/C and battery, say Y.
1181da177e4SLinus Torvalds
1191c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1201c48aa36SBjorn Helgaas	  the module will be called ac.
1211c48aa36SBjorn Helgaas
1221da177e4SLinus Torvaldsconfig ACPI_BATTERY
1231da177e4SLinus Torvalds	tristate "Battery"
1245527c8beSAlexey Starikovskiy	depends on X86
12507fefe4cSLen Brown	default y
1261da177e4SLinus Torvalds	help
1271da177e4SLinus Torvalds	  This driver adds support for battery information through
1281da177e4SLinus Torvalds	  /proc/acpi/battery. If you have a mobile system with a battery,
1291da177e4SLinus Torvalds	  say Y.
1301da177e4SLinus Torvalds
1311c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1321c48aa36SBjorn Helgaas	  the module will be called battery.
1331c48aa36SBjorn Helgaas
1341da177e4SLinus Torvaldsconfig ACPI_BUTTON
1351da177e4SLinus Torvalds	tristate "Button"
136c0968f0eSDmitry Torokhov	depends on INPUT
13707fefe4cSLen Brown	default y
1381da177e4SLinus Torvalds	help
1391c48aa36SBjorn Helgaas	  This driver handles events on the power, sleep, and lid buttons.
14007fefe4cSLen Brown	  A daemon reads /proc/acpi/event and perform user-defined actions
14107fefe4cSLen Brown	  such as shutting down the system.  This is necessary for
1421c48aa36SBjorn Helgaas	  software-controlled poweroff.
1431c48aa36SBjorn Helgaas
1441c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1451c48aa36SBjorn Helgaas	  the module will be called button.
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvaldsconfig ACPI_VIDEO
1481da177e4SLinus Torvalds	tristate "Video"
14923b0f015SLuming Yu	depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
15003e2bf26SAndreas Herrmann	depends on INPUT
15163c4ec90SZhang Rui	select THERMAL
1521da177e4SLinus Torvalds	help
1531c48aa36SBjorn Helgaas	  This driver implements the ACPI Extensions For Display Adapters
1541da177e4SLinus Torvalds	  for integrated graphics devices on motherboard, as specified in
1551c48aa36SBjorn Helgaas	  ACPI 2.0 Specification, Appendix B.  This supports basic operations
1561c48aa36SBjorn Helgaas	  such as defining the video POST device, retrieving EDID information,
1571c48aa36SBjorn Helgaas	  and setting up a video output.
1581c48aa36SBjorn Helgaas
1591c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1601c48aa36SBjorn Helgaas	  the module will be called video.
1611da177e4SLinus Torvalds
1621da177e4SLinus Torvaldsconfig ACPI_FAN
1631da177e4SLinus Torvalds	tristate "Fan"
16463c4ec90SZhang Rui	select THERMAL
16507fefe4cSLen Brown	default y
1661da177e4SLinus Torvalds	help
1671c48aa36SBjorn Helgaas	  This driver supports ACPI fan devices, allowing user-mode
1681da177e4SLinus Torvalds	  applications to perform basic fan control (on, off, status).
1691da177e4SLinus Torvalds
1701c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1711c48aa36SBjorn Helgaas	  the module will be called fan.
1721c48aa36SBjorn Helgaas
173c8f7a62cSLen Brownconfig ACPI_DOCK
174898b054fSShaohua Li	bool "Dock"
1758d7bff6cSLen Brown	depends on EXPERIMENTAL
176c8f7a62cSLen Brown	help
1771c48aa36SBjorn Helgaas	  This driver supports ACPI-controlled docking stations and removable
1781c48aa36SBjorn Helgaas	  drive bays such as the IBM Ultrabay and the Dell Module Bay.
17901b57e73SKristen Carlson Accardi
1801da177e4SLinus Torvaldsconfig ACPI_PROCESSOR
1811da177e4SLinus Torvalds	tristate "Processor"
18263c4ec90SZhang Rui	select THERMAL
18307fefe4cSLen Brown	default y
1841da177e4SLinus Torvalds	help
1851c48aa36SBjorn Helgaas	  This driver installs ACPI as the idle handler for Linux and uses
1861c48aa36SBjorn Helgaas	  ACPI C2 and C3 processor states to save power on systems that
18707fefe4cSLen Brown	  support it.  It is required by several flavors of cpufreq
1881c48aa36SBjorn Helgaas	  performance-state drivers.
1891c48aa36SBjorn Helgaas
1901c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1911c48aa36SBjorn Helgaas	  the module will be called processor.
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU
194cbfc1baeSAdrian Bunk	bool
195cbfc1baeSAdrian Bunk	depends on ACPI_PROCESSOR && HOTPLUG_CPU
1961da177e4SLinus Torvalds	select ACPI_CONTAINER
197cbfc1baeSAdrian Bunk	default y
1981da177e4SLinus Torvalds
1998e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR
2008e0af514SShaohua Li	tristate "Processor Aggregator"
2018e0af514SShaohua Li	depends on ACPI_PROCESSOR
2028e0af514SShaohua Li	depends on EXPERIMENTAL
203*d91f79ebSLen Brown	depends on X86
2048e0af514SShaohua Li	help
2058e0af514SShaohua Li	  ACPI 4.0 defines processor Aggregator, which enables OS to perform
2068e0af514SShaohua Li	  specfic processor configuration and control that applies to all
2078e0af514SShaohua Li	  processors in the platform. Currently only logical processor idling
2088e0af514SShaohua Li	  is defined, which is to reduce power consumption. This driver
2098e0af514SShaohua Li	  support the new device.
2108e0af514SShaohua Li
2111da177e4SLinus Torvaldsconfig ACPI_THERMAL
2121da177e4SLinus Torvalds	tristate "Thermal Zone"
2131da177e4SLinus Torvalds	depends on ACPI_PROCESSOR
2143f655ef8SZhang Rui	select THERMAL
21507fefe4cSLen Brown	default y
2161da177e4SLinus Torvalds	help
2171c48aa36SBjorn Helgaas	  This driver supports ACPI thermal zones.  Most mobile and
2181da177e4SLinus Torvalds	  some desktop systems support ACPI thermal zones.  It is HIGHLY
2191da177e4SLinus Torvalds	  recommended that this option be enabled, as your processor(s)
2201da177e4SLinus Torvalds	  may be damaged without it.
2211da177e4SLinus Torvalds
2221c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2231c48aa36SBjorn Helgaas	  the module will be called thermal.
2241c48aa36SBjorn Helgaas
2251da177e4SLinus Torvaldsconfig ACPI_NUMA
2261da177e4SLinus Torvalds	bool "NUMA support"
2271da177e4SLinus Torvalds	depends on NUMA
228762834e8SYasunori Goto	depends on (X86 || IA64)
2291da177e4SLinus Torvalds	default y if IA64_GENERIC || IA64_SGI_SN2
2301da177e4SLinus Torvalds
2317ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE
2327ce9573eSRandy Dunlap	string "Custom DSDT Table file to include"
2337ce9573eSRandy Dunlap	default ""
2341da177e4SLinus Torvalds	depends on !STANDALONE
2351da177e4SLinus Torvalds	help
236d89e9d6bSLen Brown	  This option supports a custom DSDT by linking it into the kernel.
237d89e9d6bSLen Brown	  See Documentation/acpi/dsdt-override.txt
238d89e9d6bSLen Brown
239c30fe7f7SUwe Zeisberger	  Enter the full path name to the file which includes the AmlCode
240c30fe7f7SUwe Zeisberger	  declaration.
2411da177e4SLinus Torvalds
2427ce9573eSRandy Dunlap	  If unsure, don't enter a file name.
2437ce9573eSRandy Dunlap
2447ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT
2457ce9573eSRandy Dunlap	bool
2467ce9573eSRandy Dunlap	default ACPI_CUSTOM_DSDT_FILE != ""
2477ce9573eSRandy Dunlap
2481da177e4SLinus Torvaldsconfig ACPI_BLACKLIST_YEAR
2492eb1bdbaSAndi Kleen	int "Disable ACPI for systems before Jan 1st this year" if X86_32
2501da177e4SLinus Torvalds	default 0
2511da177e4SLinus Torvalds	help
2521c48aa36SBjorn Helgaas	  Enter a 4-digit year, e.g., 2001, to disable ACPI by default
2531da177e4SLinus Torvalds	  on platforms with DMI BIOS date before January 1st that year.
2541da177e4SLinus Torvalds	  "acpi=force" can be used to override this mechanism.
2551da177e4SLinus Torvalds
2561da177e4SLinus Torvalds	  Enter 0 to disable this mechanism and allow ACPI to
2571da177e4SLinus Torvalds	  run by default no matter what the year.  (default)
2581da177e4SLinus Torvalds
2591da177e4SLinus Torvaldsconfig ACPI_DEBUG
2601da177e4SLinus Torvalds	bool "Debug Statements"
2611da177e4SLinus Torvalds	default n
2621da177e4SLinus Torvalds	help
263a0d84a92SBjorn Helgaas	  The ACPI subsystem can produce debug output.  Saying Y enables this
264a0d84a92SBjorn Helgaas	  output and increases the kernel size by around 50K.
265a0d84a92SBjorn Helgaas
266a0d84a92SBjorn Helgaas	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
267a0d84a92SBjorn Helgaas	  parameters documented in Documentation/acpi/debug.txt and
268a0d84a92SBjorn Helgaas	  Documentation/kernel-parameters.txt to control the type and
269a0d84a92SBjorn Helgaas	  amount of debug output.
2701da177e4SLinus Torvalds
271798d9103SThomas Renningerconfig ACPI_DEBUG_FUNC_TRACE
272798d9103SThomas Renninger	bool "Additionally enable ACPI function tracing"
273798d9103SThomas Renninger	default n
274798d9103SThomas Renninger	depends on ACPI_DEBUG
275798d9103SThomas Renninger	help
276798d9103SThomas Renninger	  ACPI Debug Statements slow down ACPI processing. Function trace
277798d9103SThomas Renninger	  is about half of the penalty and is rarely useful.
278798d9103SThomas Renninger
2798344b568SAlex Chiangconfig ACPI_PCI_SLOT
2808344b568SAlex Chiang	tristate "PCI slot detection driver"
281268a03a4SAlex Chiang	depends on SYSFS
2828344b568SAlex Chiang	default n
2838344b568SAlex Chiang	help
2841c48aa36SBjorn Helgaas	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
2851c48aa36SBjorn Helgaas	  slots in the system.  This can help correlate PCI bus addresses,
2861c48aa36SBjorn Helgaas	  i.e., segment/bus/device/function tuples, with physical slots in
2871c48aa36SBjorn Helgaas	  the system.  If you are unsure, say N.
2881c48aa36SBjorn Helgaas
2891c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2901c48aa36SBjorn Helgaas	  the module will be called pci_slot.
2918344b568SAlex Chiang
2921da177e4SLinus Torvaldsconfig X86_PM_TIMER
293e78256b8SAndi Kleen	bool "Power Management Timer Support" if EMBEDDED
2941da177e4SLinus Torvalds	depends on X86
29507fefe4cSLen Brown	default y
2961da177e4SLinus Torvalds	help
2971da177e4SLinus Torvalds	  The Power Management Timer is available on all ACPI-capable,
2981da177e4SLinus Torvalds	  in most cases even if ACPI is unusable or blacklisted.
2991da177e4SLinus Torvalds
3001da177e4SLinus Torvalds	  This timing source is not affected by power management features
3011da177e4SLinus Torvalds	  like aggressive processor idling, throttling, frequency and/or
3021da177e4SLinus Torvalds	  voltage scaling, unlike the commonly used Time Stamp Counter
3031da177e4SLinus Torvalds	  (TSC) timing source.
3041da177e4SLinus Torvalds
305e78256b8SAndi Kleen	  You should nearly always say Y here because many modern
306e78256b8SAndi Kleen	  systems require this timer.
3071da177e4SLinus Torvalds
3081da177e4SLinus Torvaldsconfig ACPI_CONTAINER
3091c48aa36SBjorn Helgaas	tristate "Container and Module Devices (EXPERIMENTAL)"
3101da177e4SLinus Torvalds	depends on EXPERIMENTAL
3111da177e4SLinus Torvalds	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
3121c48aa36SBjorn Helgaas	help
3131c48aa36SBjorn Helgaas	  This driver supports ACPI Container and Module devices (IDs
3141c48aa36SBjorn Helgaas	  ACPI0004, PNP0A05, and PNP0A06).
31545b1b196SKeiichiro Tokunaga
3161c48aa36SBjorn Helgaas	  This helps support hotplug of nodes, CPUs, and memory.
3171c48aa36SBjorn Helgaas
3181c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3191c48aa36SBjorn Helgaas	  the module will be called container.
3201da177e4SLinus Torvalds
3211da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY
3221da177e4SLinus Torvalds	tristate "Memory Hotplug"
323bc02af93SYasunori Goto	depends on MEMORY_HOTPLUG
3241da177e4SLinus Torvalds	default n
3251da177e4SLinus Torvalds	help
3261c48aa36SBjorn Helgaas	  This driver supports ACPI memory hotplug.  The driver
3271c48aa36SBjorn Helgaas	  fields notifications on ACPI memory devices (PNP0C80),
3281c48aa36SBjorn Helgaas	  which represent memory ranges that may be onlined or
3291c48aa36SBjorn Helgaas	  offlined during runtime.
3301da177e4SLinus Torvalds
3311c48aa36SBjorn Helgaas	  If your hardware and firmware do not support adding or
3321c48aa36SBjorn Helgaas	  removing memory devices at runtime, you need not enable
3331c48aa36SBjorn Helgaas	  this driver.
3341da177e4SLinus Torvalds
3351c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3361c48aa36SBjorn Helgaas	  the module will be called acpi_memhotplug.
3373f86b832SRich Townsend
3383f86b832SRich Townsendconfig ACPI_SBS
33994f6c086SAlexey Starikovskiy	tristate "Smart Battery System"
340b4150fc4SVladimir Lebedev	depends on X86
3413f86b832SRich Townsend	help
3421c48aa36SBjorn Helgaas	  This driver supports the Smart Battery System, another
34394f6c086SAlexey Starikovskiy	  type of access to battery information, found on some laptops.
3443f86b832SRich Townsend
3451c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3461c48aa36SBjorn Helgaas	  the modules will be called sbs and sbshc.
3471c48aa36SBjorn Helgaas
3481da177e4SLinus Torvaldsendif	# ACPI
349