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