xref: /openbmc/linux/drivers/acpi/Kconfig (revision 367b8112)
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	depends on PM
11	select PNP
12	default y
13	---help---
14	  Advanced Configuration and Power Interface (ACPI) support for
15	  Linux requires an ACPI compliant platform (hardware/firmware),
16	  and assumes the presence of OS-directed configuration and power
17	  management (OSPM) software.  This option will enlarge your
18	  kernel by about 70K.
19
20	  Linux ACPI provides a robust functional replacement for several
21	  legacy configuration and power management interfaces, including
22	  the Plug-and-Play BIOS specification (PnP BIOS), the
23	  MultiProcessor Specification (MPS), and the Advanced Power
24	  Management (APM) specification.  If both ACPI and APM support
25	  are configured, whichever is loaded first shall be used.
26
27	  The ACPI SourceForge project contains the latest source code,
28	  documentation, tools, mailing list subscription, and other
29	  information.  This project is available at:
30	  <http://sourceforge.net/projects/acpi>
31
32	  Linux support for ACPI is based on Intel Corporation's ACPI
33	  Component Architecture (ACPI CA).  For more information see:
34	  <http://developer.intel.com/technology/iapc/acpi>
35
36	  ACPI is an open industry specification co-developed by Compaq,
37	  Intel, Microsoft, Phoenix, and Toshiba.  The specification is
38	  available at:
39	  <http://www.acpi.info>
40
41if ACPI
42
43config ACPI_SLEEP
44	bool
45	depends on SUSPEND || HIBERNATION
46	default y
47
48config ACPI_PROCFS
49	bool "Deprecated /proc/acpi files"
50	depends on PROC_FS
51	---help---
52	  For backwards compatibility, this option allows
53	  deprecated /proc/acpi/ files to exist, even when
54	  they have been replaced by functions in /sys.
55	  The deprecated files (and their replacements) include:
56
57	  /proc/acpi/sleep (/sys/power/state)
58	  /proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
59	  /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
60	  /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
61	  /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
62	  /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)
63
64	  This option has no effect on /proc/acpi/ files
65	  and functions which do not yet exist in /sys.
66
67	  Say N to delete /proc/acpi/ files that have moved to /sys/
68config ACPI_PROCFS_POWER
69	bool "Deprecated power /proc/acpi directories"
70	depends on PROC_FS
71	default y
72	---help---
73	  For backwards compatibility, this option allows
74          deprecated power /proc/acpi/ directories to exist, even when
75          they have been replaced by functions in /sys.
76          The deprecated directories (and their replacements) include:
77	  /proc/acpi/battery/* (/sys/class/power_supply/*)
78	  /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
79	  This option has no effect on /proc/acpi/ directories
80	  and functions, which do not yet exist in /sys
81
82	  Say N to delete power /proc/acpi/ directories that have moved to /sys/
83
84config ACPI_SYSFS_POWER
85	bool "Future power /sys interface"
86	select POWER_SUPPLY
87	default y
88	---help---
89	  Say N to disable power /sys interface
90
91config ACPI_PROC_EVENT
92	bool "Deprecated /proc/acpi/event support"
93	depends on PROC_FS
94	default y
95	---help---
96	  A user-space daemon, acpi, typically read /proc/acpi/event
97	  and handled all ACPI sub-system generated events.
98
99	  These events are now delivered to user-space via
100	  either the input layer, or as netlink events.
101
102	  This build option enables the old code for legacy
103	  user-space implementation.  After some time, this will
104	  be moved under CONFIG_ACPI_PROCFS, and then deleted.
105
106	  Say Y here to retain the old behaviour.  Say N if your
107	  user-space is newer than kernel 2.6.23 (September 2007).
108
109config ACPI_AC
110	tristate "AC Adapter"
111	depends on X86
112	default y
113	help
114	  This driver adds support for the AC Adapter object, which indicates
115	  whether a system is on AC, or not. If you have a system that can
116	  switch between A/C and battery, say Y.
117
118config ACPI_BATTERY
119	tristate "Battery"
120	depends on X86
121	default y
122	help
123	  This driver adds support for battery information through
124	  /proc/acpi/battery. If you have a mobile system with a battery,
125	  say Y.
126
127config ACPI_BUTTON
128	tristate "Button"
129	depends on INPUT
130	default y
131	help
132	  This driver handles events on the power, sleep and lid buttons.
133	  A daemon reads /proc/acpi/event and perform user-defined actions
134	  such as shutting down the system.  This is necessary for
135	  software controlled poweroff.
136
137config ACPI_VIDEO
138	tristate "Video"
139	depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
140	depends on INPUT
141	select THERMAL
142	help
143	  This driver implement the ACPI Extensions For Display Adapters
144	  for integrated graphics devices on motherboard, as specified in
145	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
146	  control like defining the video POST device, retrieving EDID information
147	  or to setup a video output, etc.
148	  Note that this is an ref. implementation only.  It may or may not work
149	  for your integrated video device.
150
151config ACPI_FAN
152	tristate "Fan"
153	select THERMAL
154	default y
155	help
156	  This driver adds support for ACPI fan devices, allowing user-mode
157	  applications to perform basic fan control (on, off, status).
158
159config ACPI_DOCK
160	bool "Dock"
161	depends on EXPERIMENTAL
162	help
163	  This driver adds support for ACPI controlled docking stations and removable
164	  drive bays such as the IBM ultrabay or the Dell Module Bay.
165
166config ACPI_PROCESSOR
167	tristate "Processor"
168	select THERMAL
169	default y
170	help
171	  This driver installs ACPI as the idle handler for Linux, and uses
172	  ACPI C2 and C3 processor states to save power, on systems that
173	  support it.  It is required by several flavors of cpufreq
174	  Performance-state drivers.
175
176config ACPI_HOTPLUG_CPU
177	bool
178	depends on ACPI_PROCESSOR && HOTPLUG_CPU
179	select ACPI_CONTAINER
180	default y
181
182config ACPI_THERMAL
183	tristate "Thermal Zone"
184	depends on ACPI_PROCESSOR
185	select THERMAL
186	default y
187	help
188	  This driver adds support for ACPI thermal zones.  Most mobile and
189	  some desktop systems support ACPI thermal zones.  It is HIGHLY
190	  recommended that this option be enabled, as your processor(s)
191	  may be damaged without it.
192
193config ACPI_NUMA
194	bool "NUMA support"
195	depends on NUMA
196	depends on (X86 || IA64)
197	default y if IA64_GENERIC || IA64_SGI_SN2
198
199config ACPI_WMI
200	tristate "WMI (EXPERIMENTAL)"
201	depends on X86
202	depends on EXPERIMENTAL
203	help
204	  This driver adds support for the ACPI-WMI (Windows Management
205	  Instrumentation) mapper device (PNP0C14) found on some systems.
206
207	  ACPI-WMI is a proprietary extension to ACPI to expose parts of the
208	  ACPI firmware to userspace - this is done through various vendor
209	  defined methods and data blocks in a PNP0C14 device, which are then
210	  made available for userspace to call.
211
212	  The implementation of this in Linux currently only exposes this to
213	  other kernel space drivers.
214
215	  This driver is a required dependency to build the firmware specific
216	  drivers needed on many machines, including Acer and HP laptops.
217
218	  It is safe to enable this driver even if your DSDT doesn't define
219	  any ACPI-WMI devices.
220
221config ACPI_ASUS
222        tristate "ASUS/Medion Laptop Extras"
223	depends on X86
224	select BACKLIGHT_CLASS_DEVICE
225        ---help---
226          This driver provides support for extra features of ACPI-compatible
227          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
228          support some Medion laptops (such as 9675 for example).  It makes all
229          the extra buttons generate standard ACPI events that go through
230          /proc/acpi/events, and (on some models) adds support for changing the
231          display brightness and output, switching the LCD backlight on and off,
232          and most importantly, allows you to blink those fancy LEDs intended
233          for reporting mail and wireless status.
234
235	  Note: display switching code is currently considered EXPERIMENTAL,
236	  toying with these values may even lock your machine.
237
238          All settings are changed via /proc/acpi/asus directory entries. Owner
239          and group for these entries can be set with asus_uid and asus_gid
240          parameters.
241
242          More information and a userspace daemon for handling the extra buttons
243          at <http://sourceforge.net/projects/acpi4asus/>.
244
245          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
246          driver is still under development, so if your laptop is unsupported or
247          something works not quite as expected, please use the mailing list
248          available on the above page (acpi4asus-user@lists.sourceforge.net).
249
250	  NOTE: This driver is deprecated and will probably be removed soon,
251	  use asus-laptop instead.
252
253config ACPI_TOSHIBA
254	tristate "Toshiba Laptop Extras"
255	depends on X86 && INPUT
256	select INPUT_POLLDEV
257	select NET
258	select RFKILL
259	select BACKLIGHT_CLASS_DEVICE
260	---help---
261	  This driver adds support for access to certain system settings
262	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
263	  their lack of a BIOS setup menu and APM support.
264
265	  On these machines, all system configuration is handled through the
266	  ACPI.  This driver is required for access to controls not covered
267	  by the general ACPI drivers, such as LCD brightness, video output,
268	  etc.
269
270	  This driver differs from the non-ACPI Toshiba laptop driver (located
271	  under "Processor type and features") in several aspects.
272	  Configuration is accessed by reading and writing text files in the
273	  /proc tree instead of by program interface to /dev.  Furthermore, no
274	  power management functions are exposed, as those are handled by the
275	  general ACPI drivers.
276
277	  More information about this driver is available at
278	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
279
280	  If you have a legacy free Toshiba laptop (such as the Libretto L1
281	  series), say Y.
282
283config ACPI_CUSTOM_DSDT_FILE
284	string "Custom DSDT Table file to include"
285	default ""
286	depends on !STANDALONE
287	help
288	  This option supports a custom DSDT by linking it into the kernel.
289	  See Documentation/acpi/dsdt-override.txt
290
291	  Enter the full path name to the file which includes the AmlCode
292	  declaration.
293
294	  If unsure, don't enter a file name.
295
296config ACPI_CUSTOM_DSDT
297	bool
298	default ACPI_CUSTOM_DSDT_FILE != ""
299
300config ACPI_BLACKLIST_YEAR
301	int "Disable ACPI for systems before Jan 1st this year" if X86_32
302	default 0
303	help
304	  enter a 4-digit year, eg. 2001 to disable ACPI by default
305	  on platforms with DMI BIOS date before January 1st that year.
306	  "acpi=force" can be used to override this mechanism.
307
308	  Enter 0 to disable this mechanism and allow ACPI to
309	  run by default no matter what the year.  (default)
310
311config ACPI_DEBUG
312	bool "Debug Statements"
313	default n
314	help
315	  The ACPI driver can optionally report errors with a great deal
316	  of verbosity. Saying Y enables these statements. This will increase
317	  your kernel size by around 50K.
318
319config ACPI_DEBUG_FUNC_TRACE
320	bool "Additionally enable ACPI function tracing"
321	default n
322	depends on ACPI_DEBUG
323	help
324	  ACPI Debug Statements slow down ACPI processing. Function trace
325	  is about half of the penalty and is rarely useful.
326
327config ACPI_EC
328	bool
329	default y
330	help
331	  This driver is required on some systems for the proper operation of
332	  the battery and thermal drivers.  If you are compiling for a
333	  mobile system, say Y.
334
335config ACPI_PCI_SLOT
336	tristate "PCI slot detection driver"
337	default n
338	help
339	  This driver will attempt to discover all PCI slots in your system,
340	  and creates entries in /sys/bus/pci/slots/. This feature can
341	  help you correlate PCI bus addresses with the physical geography
342	  of your slots. If you are unsure, say N.
343
344config ACPI_POWER
345	bool
346	default y
347
348config ACPI_SYSTEM
349	bool
350	default y
351	help
352	  This driver will enable your system to shut down using ACPI, and
353	  dump your ACPI DSDT table using /proc/acpi/dsdt.
354
355config X86_PM_TIMER
356	bool "Power Management Timer Support" if EMBEDDED
357	depends on X86
358	default y
359	help
360	  The Power Management Timer is available on all ACPI-capable,
361	  in most cases even if ACPI is unusable or blacklisted.
362
363	  This timing source is not affected by power management features
364	  like aggressive processor idling, throttling, frequency and/or
365	  voltage scaling, unlike the commonly used Time Stamp Counter
366	  (TSC) timing source.
367
368	  You should nearly always say Y here because many modern
369	  systems require this timer.
370
371config ACPI_CONTAINER
372	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
373	depends on EXPERIMENTAL
374	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
375	 ---help---
376	  This allows _physical_ insertion and removal of CPUs and memory.
377	  This can be useful, for example, on NUMA machines that support
378	  ACPI based physical hotplug of nodes, or non-NUMA machines that
379	  support physical cpu/memory hot-plug.
380
381	  If one selects "m", this driver can be loaded with
382	  "modprobe acpi_container".
383
384config ACPI_HOTPLUG_MEMORY
385	tristate "Memory Hotplug"
386	depends on MEMORY_HOTPLUG
387	default n
388	help
389	  This driver adds supports for ACPI Memory Hotplug.  This driver
390	  provides support for fielding notifications on ACPI memory
391	  devices (PNP0C80) which represent memory ranges that may be
392	  onlined or offlined during runtime.
393
394	  Enabling this driver assumes that your platform hardware
395	  and firmware have support for hot-plugging physical memory. If
396	  your system does not support physically adding or ripping out
397	  memory DIMMs at some platform defined granularity (individually
398	  or as a bank) at runtime, then you need not enable this driver.
399
400	  If one selects "m," this driver can be loaded using the following
401	  command:
402		$>modprobe acpi_memhotplug
403
404config ACPI_SBS
405	tristate "Smart Battery System"
406	depends on X86
407	help
408	  This driver adds support for the Smart Battery System, another
409	  type of access to battery information, found on some laptops.
410
411endif	# ACPI
412