Merge remote branch 'jwb/merge' into merge
[pandora-kernel.git] / drivers / acpi / Kconfig
1 #
2 # ACPI Configuration
3 #
4
5 menuconfig 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         select CPU_IDLE
13         default y
14         help
15           Advanced Configuration and Power Interface (ACPI) support for 
16           Linux requires an ACPI-compliant platform (hardware/firmware),
17           and assumes the presence of OS-directed configuration and power
18           management (OSPM) software.  This option will enlarge your 
19           kernel by about 70K.
20
21           Linux ACPI provides a robust functional replacement for several 
22           legacy configuration and power management interfaces, including
23           the Plug-and-Play BIOS specification (PnP BIOS), the 
24           MultiProcessor Specification (MPS), and the Advanced Power 
25           Management (APM) specification.  If both ACPI and APM support 
26           are configured, ACPI is used.
27
28           The project home page for the Linux ACPI subsystem is here:
29           <http://www.lesswatts.org/projects/acpi/>
30
31           Linux support for ACPI is based on Intel Corporation's ACPI
32           Component Architecture (ACPI CA).  For more information on the
33           ACPI CA, see:
34           <http://acpica.org/>
35
36           ACPI is an open industry specification co-developed by
37           Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
38           The specification is available at:
39           <http://www.acpi.info>
40
41 if ACPI
42
43 config ACPI_SLEEP
44         bool
45         depends on SUSPEND || HIBERNATION
46         default y
47
48 config 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/processor/*/throttling (/sys/class/thermal/
58                 cooling_device*/*)
59           /proc/acpi/video/*/brightness (/sys/class/backlight/)
60           /proc/acpi/thermal_zone/*/* (/sys/class/thermal/)
61           This option has no effect on /proc/acpi/ files
62           and functions which do not yet exist in /sys.
63
64           Say N to delete /proc/acpi/ files that have moved to /sys/
65
66 config ACPI_PROCFS_POWER
67         bool "Deprecated power /proc/acpi directories"
68         depends on PROC_FS
69         default y
70         help
71           For backwards compatibility, this option allows
72           deprecated power /proc/acpi/ directories to exist, even when
73           they have been replaced by functions in /sys.
74           The deprecated directories (and their replacements) include:
75           /proc/acpi/battery/* (/sys/class/power_supply/*)
76           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
77           This option has no effect on /proc/acpi/ directories
78           and functions, which do not yet exist in /sys
79
80           Say N to delete power /proc/acpi/ directories that have moved to /sys/
81
82 config ACPI_POWER_METER
83         tristate "ACPI 4.0 power meter"
84         depends on HWMON
85         help
86           This driver exposes ACPI 4.0 power meters as hardware monitoring
87           devices.  Say Y (or M) if you have a computer with ACPI 4.0 firmware
88           and a power meter.
89
90           To compile this driver as a module, choose M here:
91           the module will be called power-meter.
92
93 config ACPI_SYSFS_POWER
94         bool "Future power /sys interface"
95         select POWER_SUPPLY
96         default y
97         help
98           Say N to disable power /sys interface
99
100 config ACPI_EC_DEBUGFS
101         tristate "EC read/write access through /sys/kernel/debug/ec"
102         default n
103         help
104           Say N to disable Embedded Controller /sys/kernel/debug interface
105
106           Be aware that using this interface can confuse your Embedded
107           Controller in a way that a normal reboot is not enough. You then
108           have to power of your system, and remove the laptop battery for
109           some seconds.
110           An Embedded Controller typically is available on laptops and reads
111           sensor values like battery state and temperature.
112           The kernel accesses the EC through ACPI parsed code provided by BIOS
113           tables. This option allows to access the EC directly without ACPI
114           code being involved.
115           Thus this option is a debug option that helps to write ACPI drivers
116           and can be used to identify ACPI code or EC firmware bugs.
117
118 config ACPI_PROC_EVENT
119         bool "Deprecated /proc/acpi/event support"
120         depends on PROC_FS
121         default y
122         help
123           A user-space daemon, acpid, typically reads /proc/acpi/event
124           and handles all ACPI-generated events.
125
126           These events are now delivered to user-space either
127           via the input layer or as netlink events.
128
129           This build option enables the old code for legacy
130           user-space implementation.  After some time, this will
131           be moved under CONFIG_ACPI_PROCFS, and then deleted.
132
133           Say Y here to retain the old behaviour.  Say N if your
134           user-space is newer than kernel 2.6.23 (September 2007).
135
136 config ACPI_AC
137         tristate "AC Adapter"
138         depends on X86
139         default y
140         help
141           This driver supports the AC Adapter object, which indicates
142           whether a system is on AC or not.  If you have a system that can
143           switch between A/C and battery, say Y.
144
145           To compile this driver as a module, choose M here:
146           the module will be called ac.
147
148 config ACPI_BATTERY
149         tristate "Battery"
150         depends on X86
151         default y
152         help
153           This driver adds support for battery information through
154           /proc/acpi/battery. If you have a mobile system with a battery, 
155           say Y.
156
157           To compile this driver as a module, choose M here:
158           the module will be called battery.
159
160 config ACPI_BUTTON
161         tristate "Button"
162         depends on INPUT
163         default y
164         help
165           This driver handles events on the power, sleep, and lid buttons.
166           A daemon reads /proc/acpi/event and perform user-defined actions
167           such as shutting down the system.  This is necessary for
168           software-controlled poweroff.
169
170           To compile this driver as a module, choose M here:
171           the module will be called button.
172
173 config ACPI_VIDEO
174         tristate "Video"
175         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
176         depends on INPUT
177         select THERMAL
178         help
179           This driver implements the ACPI Extensions For Display Adapters
180           for integrated graphics devices on motherboard, as specified in
181           ACPI 2.0 Specification, Appendix B.  This supports basic operations
182           such as defining the video POST device, retrieving EDID information,
183           and setting up a video output.
184
185           To compile this driver as a module, choose M here:
186           the module will be called video.
187
188 config ACPI_FAN
189         tristate "Fan"
190         select THERMAL
191         default y
192         help
193           This driver supports ACPI fan devices, allowing user-mode
194           applications to perform basic fan control (on, off, status).
195
196           To compile this driver as a module, choose M here:
197           the module will be called fan.
198
199 config ACPI_DOCK
200         bool "Dock"
201         depends on EXPERIMENTAL
202         help
203           This driver supports ACPI-controlled docking stations and removable
204           drive bays such as the IBM Ultrabay and the Dell Module Bay.
205
206 config ACPI_PROCESSOR
207         tristate "Processor"
208         select THERMAL
209         default y
210         help
211           This driver installs ACPI as the idle handler for Linux and uses
212           ACPI C2 and C3 processor states to save power on systems that
213           support it.  It is required by several flavors of cpufreq
214           performance-state drivers.
215
216           To compile this driver as a module, choose M here:
217           the module will be called processor.
218
219 config ACPI_HOTPLUG_CPU
220         bool
221         depends on ACPI_PROCESSOR && HOTPLUG_CPU
222         select ACPI_CONTAINER
223         default y
224
225 config ACPI_PROCESSOR_AGGREGATOR
226         tristate "Processor Aggregator"
227         depends on ACPI_PROCESSOR
228         depends on EXPERIMENTAL
229         depends on X86
230         help
231           ACPI 4.0 defines processor Aggregator, which enables OS to perform
232           specific processor configuration and control that applies to all
233           processors in the platform. Currently only logical processor idling
234           is defined, which is to reduce power consumption. This driver
235           supports the new device.
236
237 config ACPI_THERMAL
238         tristate "Thermal Zone"
239         depends on ACPI_PROCESSOR
240         select THERMAL
241         default y
242         help
243           This driver supports ACPI thermal zones.  Most mobile and
244           some desktop systems support ACPI thermal zones.  It is HIGHLY
245           recommended that this option be enabled, as your processor(s)
246           may be damaged without it.
247
248           To compile this driver as a module, choose M here:
249           the module will be called thermal.
250
251 config ACPI_NUMA
252         bool "NUMA support"
253         depends on NUMA
254         depends on (X86 || IA64)
255         default y if IA64_GENERIC || IA64_SGI_SN2
256
257 config ACPI_CUSTOM_DSDT_FILE
258         string "Custom DSDT Table file to include"
259         default ""
260         depends on !STANDALONE
261         help
262           This option supports a custom DSDT by linking it into the kernel.
263           See Documentation/acpi/dsdt-override.txt
264
265           Enter the full path name to the file which includes the AmlCode
266           declaration.
267
268           If unsure, don't enter a file name.
269
270 config ACPI_CUSTOM_DSDT
271         bool
272         default ACPI_CUSTOM_DSDT_FILE != ""
273
274 config ACPI_BLACKLIST_YEAR
275         int "Disable ACPI for systems before Jan 1st this year" if X86_32
276         default 0
277         help
278           Enter a 4-digit year, e.g., 2001, to disable ACPI by default
279           on platforms with DMI BIOS date before January 1st that year.
280           "acpi=force" can be used to override this mechanism.
281
282           Enter 0 to disable this mechanism and allow ACPI to
283           run by default no matter what the year.  (default)
284
285 config ACPI_DEBUG
286         bool "Debug Statements"
287         default n
288         help
289           The ACPI subsystem can produce debug output.  Saying Y enables this
290           output and increases the kernel size by around 50K.
291
292           Use the acpi.debug_layer and acpi.debug_level kernel command-line
293           parameters documented in Documentation/acpi/debug.txt and
294           Documentation/kernel-parameters.txt to control the type and
295           amount of debug output.
296
297 config ACPI_DEBUG_FUNC_TRACE
298         bool "Additionally enable ACPI function tracing"
299         default n
300         depends on ACPI_DEBUG
301         help
302           ACPI Debug Statements slow down ACPI processing. Function trace
303           is about half of the penalty and is rarely useful.
304
305 config ACPI_PCI_SLOT
306         tristate "PCI slot detection driver"
307         depends on SYSFS
308         default n
309         help
310           This driver creates entries in /sys/bus/pci/slots/ for all PCI
311           slots in the system.  This can help correlate PCI bus addresses,
312           i.e., segment/bus/device/function tuples, with physical slots in
313           the system.  If you are unsure, say N.
314
315           To compile this driver as a module, choose M here:
316           the module will be called pci_slot.
317
318 config X86_PM_TIMER
319         bool "Power Management Timer Support" if EMBEDDED
320         depends on X86
321         default y
322         help
323           The Power Management Timer is available on all ACPI-capable,
324           in most cases even if ACPI is unusable or blacklisted.
325
326           This timing source is not affected by power management features
327           like aggressive processor idling, throttling, frequency and/or
328           voltage scaling, unlike the commonly used Time Stamp Counter
329           (TSC) timing source.
330
331           You should nearly always say Y here because many modern
332           systems require this timer. 
333
334 config ACPI_CONTAINER
335         tristate "Container and Module Devices (EXPERIMENTAL)"
336         depends on EXPERIMENTAL
337         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
338         help
339           This driver supports ACPI Container and Module devices (IDs
340           ACPI0004, PNP0A05, and PNP0A06).
341
342           This helps support hotplug of nodes, CPUs, and memory.
343
344           To compile this driver as a module, choose M here:
345           the module will be called container.
346
347 config ACPI_HOTPLUG_MEMORY
348         tristate "Memory Hotplug"
349         depends on MEMORY_HOTPLUG
350         default n
351         help
352           This driver supports ACPI memory hotplug.  The driver
353           fields notifications on ACPI memory devices (PNP0C80),
354           which represent memory ranges that may be onlined or
355           offlined during runtime.
356
357           If your hardware and firmware do not support adding or
358           removing memory devices at runtime, you need not enable
359           this driver.
360
361           To compile this driver as a module, choose M here:
362           the module will be called acpi_memhotplug.
363
364 config ACPI_SBS
365         tristate "Smart Battery System"
366         depends on X86
367         help
368           This driver supports the Smart Battery System, another
369           type of access to battery information, found on some laptops.
370
371           To compile this driver as a module, choose M here:
372           the modules will be called sbs and sbshc.
373
374 config ACPI_HED
375         tristate "Hardware Error Device"
376         help
377           This driver supports the Hardware Error Device (PNP0C33),
378           which is used to report some hardware errors notified via
379           SCI, mainly the corrected errors.
380
381 source "drivers/acpi/apei/Kconfig"
382
383 endif   # ACPI