xref: /openbmc/linux/drivers/acpi/Kconfig (revision 643d1f7f)
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 folders"
72	depends on PROC_FS
73	default y
74	---help---
75	  For backwards compatibility, this option allows
76          deprecated power /proc/acpi/ folders to exist, even when
77          they have been replaced by functions in /sys.
78          The deprecated folders (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/ folders
82	  and functions, which do not yet exist in /sys
83
84	  Say N to delete power /proc/acpi/ folders that have moved to /sys/
85config ACPI_SYSFS_POWER
86	bool "Future power /sys interface"
87	select POWER_SUPPLY
88	default y
89	---help---
90	  Say N to disable power /sys interface
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	help
142	  This driver implement the ACPI Extensions For Display Adapters
143	  for integrated graphics devices on motherboard, as specified in
144	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
145	  control like defining the video POST device, retrieving EDID information
146	  or to setup a video output, etc.
147	  Note that this is an ref. implementation only.  It may or may not work
148	  for your integrated video device.
149
150config ACPI_FAN
151	tristate "Fan"
152	default y
153	help
154	  This driver adds support for ACPI fan devices, allowing user-mode
155	  applications to perform basic fan control (on, off, status).
156
157config ACPI_DOCK
158	tristate "Dock"
159	depends on EXPERIMENTAL
160	help
161	  This driver adds support for ACPI controlled docking stations
162
163config ACPI_BAY
164	tristate "Removable Drive Bay (EXPERIMENTAL)"
165	depends on EXPERIMENTAL
166	depends on ACPI_DOCK
167	help
168	  This driver adds support for ACPI controlled removable drive
169	  bays such as the IBM ultrabay or the Dell Module Bay.
170
171config ACPI_PROCESSOR
172	tristate "Processor"
173	default y
174	help
175	  This driver installs ACPI as the idle handler for Linux, and uses
176	  ACPI C2 and C3 processor states to save power, on systems that
177	  support it.  It is required by several flavors of cpufreq
178	  Performance-state drivers.
179
180config ACPI_HOTPLUG_CPU
181	bool
182	depends on ACPI_PROCESSOR && HOTPLUG_CPU
183	select ACPI_CONTAINER
184	default y
185
186config ACPI_THERMAL
187	tristate "Thermal Zone"
188	depends on ACPI_PROCESSOR
189	default y
190	help
191	  This driver adds support for ACPI thermal zones.  Most mobile and
192	  some desktop systems support ACPI thermal zones.  It is HIGHLY
193	  recommended that this option be enabled, as your processor(s)
194	  may be damaged without it.
195
196config ACPI_NUMA
197	bool "NUMA support"
198	depends on NUMA
199	depends on (X86 || IA64)
200	default y if IA64_GENERIC || IA64_SGI_SN2
201
202config ACPI_ASUS
203        tristate "ASUS/Medion Laptop Extras"
204	depends on X86
205	select BACKLIGHT_CLASS_DEVICE
206        ---help---
207          This driver provides support for extra features of ACPI-compatible
208          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
209          support some Medion laptops (such as 9675 for example).  It makes all
210          the extra buttons generate standard ACPI events that go through
211          /proc/acpi/events, and (on some models) adds support for changing the
212          display brightness and output, switching the LCD backlight on and off,
213          and most importantly, allows you to blink those fancy LEDs intended
214          for reporting mail and wireless status.
215
216	  Note: display switching code is currently considered EXPERIMENTAL,
217	  toying with these values may even lock your machine.
218
219          All settings are changed via /proc/acpi/asus directory entries. Owner
220          and group for these entries can be set with asus_uid and asus_gid
221          parameters.
222
223          More information and a userspace daemon for handling the extra buttons
224          at <http://sourceforge.net/projects/acpi4asus/>.
225
226          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
227          driver is still under development, so if your laptop is unsupported or
228          something works not quite as expected, please use the mailing list
229          available on the above page (acpi4asus-user@lists.sourceforge.net).
230
231	  NOTE: This driver is deprecated and will probably be removed soon,
232	  use asus-laptop instead.
233
234config ACPI_TOSHIBA
235	tristate "Toshiba Laptop Extras"
236	depends on X86
237	select BACKLIGHT_CLASS_DEVICE
238	---help---
239	  This driver adds support for access to certain system settings
240	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
241	  their lack of a BIOS setup menu and APM support.
242
243	  On these machines, all system configuration is handled through the
244	  ACPI.  This driver is required for access to controls not covered
245	  by the general ACPI drivers, such as LCD brightness, video output,
246	  etc.
247
248	  This driver differs from the non-ACPI Toshiba laptop driver (located
249	  under "Processor type and features") in several aspects.
250	  Configuration is accessed by reading and writing text files in the
251	  /proc tree instead of by program interface to /dev.  Furthermore, no
252	  power management functions are exposed, as those are handled by the
253	  general ACPI drivers.
254
255	  More information about this driver is available at
256	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
257
258	  If you have a legacy free Toshiba laptop (such as the Libretto L1
259	  series), say Y.
260
261config ACPI_CUSTOM_DSDT
262	bool "Include Custom DSDT"
263	depends on !STANDALONE
264	default n
265	help
266	  This option is to load a custom ACPI DSDT
267	  If you don't know what that is, say N.
268
269config ACPI_CUSTOM_DSDT_FILE
270	string "Custom DSDT Table file to include"
271	depends on ACPI_CUSTOM_DSDT
272	default ""
273	help
274	  Enter the full path name to the file which includes the AmlCode
275	  declaration.
276
277config ACPI_BLACKLIST_YEAR
278	int "Disable ACPI for systems before Jan 1st this year" if X86_32
279	default 0
280	help
281	  enter a 4-digit year, eg. 2001 to disable ACPI by default
282	  on platforms with DMI BIOS date before January 1st that year.
283	  "acpi=force" can be used to override this mechanism.
284
285	  Enter 0 to disable this mechanism and allow ACPI to
286	  run by default no matter what the year.  (default)
287
288config ACPI_DEBUG
289	bool "Debug Statements"
290	default n
291	help
292	  The ACPI driver can optionally report errors with a great deal
293	  of verbosity. Saying Y enables these statements. This will increase
294	  your kernel size by around 50K.
295
296config ACPI_DEBUG_FUNC_TRACE
297	bool "Additionally enable ACPI function tracing"
298	default n
299	depends on ACPI_DEBUG
300	help
301	  ACPI Debug Statements slow down ACPI processing. Function trace
302	  is about half of the penalty and is rarely useful.
303
304config ACPI_EC
305	bool
306	default y
307	help
308	  This driver is required on some systems for the proper operation of
309	  the battery and thermal drivers.  If you are compiling for a
310	  mobile system, say Y.
311
312config ACPI_POWER
313	bool
314	default y
315
316config ACPI_SYSTEM
317	bool
318	default y
319	help
320	  This driver will enable your system to shut down using ACPI, and
321	  dump your ACPI DSDT table using /proc/acpi/dsdt.
322
323config X86_PM_TIMER
324	bool "Power Management Timer Support" if EMBEDDED
325	depends on X86
326	default y
327	help
328	  The Power Management Timer is available on all ACPI-capable,
329	  in most cases even if ACPI is unusable or blacklisted.
330
331	  This timing source is not affected by power management features
332	  like aggressive processor idling, throttling, frequency and/or
333	  voltage scaling, unlike the commonly used Time Stamp Counter
334	  (TSC) timing source.
335
336	  You should nearly always say Y here because many modern
337	  systems require this timer.
338
339config ACPI_CONTAINER
340	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
341	depends on EXPERIMENTAL
342	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
343	 ---help---
344	  This allows _physical_ insertion and removal of CPUs and memory.
345	  This can be useful, for example, on NUMA machines that support
346	  ACPI based physical hotplug of nodes, or non-NUMA machines that
347	  support physical cpu/memory hot-plug.
348
349	  If one selects "m", this driver can be loaded with
350	  "modprobe acpi_container".
351
352config ACPI_HOTPLUG_MEMORY
353	tristate "Memory Hotplug"
354	depends on MEMORY_HOTPLUG
355	default n
356	help
357	  This driver adds supports for ACPI Memory Hotplug.  This driver
358	  provides support for fielding notifications on ACPI memory
359	  devices (PNP0C80) which represent memory ranges that may be
360	  onlined or offlined during runtime.
361
362	  Enabling this driver assumes that your platform hardware
363	  and firmware have support for hot-plugging physical memory. If
364	  your system does not support physically adding or ripping out
365	  memory DIMMs at some platform defined granularity (individually
366	  or as a bank) at runtime, then you need not enable this driver.
367
368	  If one selects "m," this driver can be loaded using the following
369	  command:
370		$>modprobe acpi_memhotplug
371
372config ACPI_SBS
373	tristate "Smart Battery System"
374	depends on X86
375	help
376	  This driver adds support for the Smart Battery System, another
377	  type of access to battery information, found on some laptops.
378
379endif	# ACPI
380