ACPI: create Processor Aggregator Device driver
[linux-2.6.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/sleep (/sys/power/state)
58           /proc/acpi/info (/sys/module/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/
68
69 config ACPI_PROCFS_POWER
70         bool "Deprecated power /proc/acpi directories"
71         depends on PROC_FS
72         default y
73         help
74           For backwards compatibility, this option allows
75           deprecated power /proc/acpi/ directories to exist, even when
76           they have been replaced by functions in /sys.
77           The deprecated directories (and their replacements) include:
78           /proc/acpi/battery/* (/sys/class/power_supply/*)
79           /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
80           This option has no effect on /proc/acpi/ directories
81           and functions, which do not yet exist in /sys
82
83           Say N to delete power /proc/acpi/ directories that have moved to /sys/
84
85 config 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
91
92 config ACPI_PROC_EVENT
93         bool "Deprecated /proc/acpi/event support"
94         depends on PROC_FS
95         default y
96         help
97           A user-space daemon, acpid, typically reads /proc/acpi/event
98           and handles all ACPI-generated events.
99
100           These events are now delivered to user-space either
101           via the input layer or as netlink events.
102
103           This build option enables the old code for legacy
104           user-space implementation.  After some time, this will
105           be moved under CONFIG_ACPI_PROCFS, and then deleted.
106
107           Say Y here to retain the old behaviour.  Say N if your
108           user-space is newer than kernel 2.6.23 (September 2007).
109
110 config ACPI_AC
111         tristate "AC Adapter"
112         depends on X86
113         default y
114         help
115           This driver supports the AC Adapter object, which indicates
116           whether a system is on AC or not.  If you have a system that can
117           switch between A/C and battery, say Y.
118
119           To compile this driver as a module, choose M here:
120           the module will be called ac.
121
122 config ACPI_BATTERY
123         tristate "Battery"
124         depends on X86
125         default y
126         help
127           This driver adds support for battery information through
128           /proc/acpi/battery. If you have a mobile system with a battery, 
129           say Y.
130
131           To compile this driver as a module, choose M here:
132           the module will be called battery.
133
134 config ACPI_BUTTON
135         tristate "Button"
136         depends on INPUT
137         default y
138         help
139           This driver handles events on the power, sleep, and lid buttons.
140           A daemon reads /proc/acpi/event and perform user-defined actions
141           such as shutting down the system.  This is necessary for
142           software-controlled poweroff.
143
144           To compile this driver as a module, choose M here:
145           the module will be called button.
146
147 config ACPI_VIDEO
148         tristate "Video"
149         depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL
150         depends on INPUT
151         select THERMAL
152         help
153           This driver implements the ACPI Extensions For Display Adapters
154           for integrated graphics devices on motherboard, as specified in
155           ACPI 2.0 Specification, Appendix B.  This supports basic operations
156           such as defining the video POST device, retrieving EDID information,
157           and setting up a video output.
158
159           To compile this driver as a module, choose M here:
160           the module will be called video.
161
162 config ACPI_FAN
163         tristate "Fan"
164         select THERMAL
165         default y
166         help
167           This driver supports ACPI fan devices, allowing user-mode
168           applications to perform basic fan control (on, off, status).
169
170           To compile this driver as a module, choose M here:
171           the module will be called fan.
172
173 config ACPI_DOCK
174         bool "Dock"
175         depends on EXPERIMENTAL
176         help
177           This driver supports ACPI-controlled docking stations and removable
178           drive bays such as the IBM Ultrabay and the Dell Module Bay.
179
180 config ACPI_PROCESSOR
181         tristate "Processor"
182         select THERMAL
183         default y
184         help
185           This driver installs ACPI as the idle handler for Linux and uses
186           ACPI C2 and C3 processor states to save power on systems that
187           support it.  It is required by several flavors of cpufreq
188           performance-state drivers.
189
190           To compile this driver as a module, choose M here:
191           the module will be called processor.
192
193 config ACPI_HOTPLUG_CPU
194         bool
195         depends on ACPI_PROCESSOR && HOTPLUG_CPU
196         select ACPI_CONTAINER
197         default y
198
199 config ACPI_PROCESSOR_AGGREGATOR
200         tristate "Processor Aggregator"
201         depends on ACPI_PROCESSOR
202         depends on EXPERIMENTAL
203         help
204           ACPI 4.0 defines processor Aggregator, which enables OS to perform
205           specfic processor configuration and control that applies to all
206           processors in the platform. Currently only logical processor idling
207           is defined, which is to reduce power consumption. This driver
208           support the new device.
209
210 config ACPI_THERMAL
211         tristate "Thermal Zone"
212         depends on ACPI_PROCESSOR
213         select THERMAL
214         default y
215         help
216           This driver supports ACPI thermal zones.  Most mobile and
217           some desktop systems support ACPI thermal zones.  It is HIGHLY
218           recommended that this option be enabled, as your processor(s)
219           may be damaged without it.
220
221           To compile this driver as a module, choose M here:
222           the module will be called thermal.
223
224 config ACPI_NUMA
225         bool "NUMA support"
226         depends on NUMA
227         depends on (X86 || IA64)
228         default y if IA64_GENERIC || IA64_SGI_SN2
229
230 config ACPI_CUSTOM_DSDT_FILE
231         string "Custom DSDT Table file to include"
232         default ""
233         depends on !STANDALONE
234         help
235           This option supports a custom DSDT by linking it into the kernel.
236           See Documentation/acpi/dsdt-override.txt
237
238           Enter the full path name to the file which includes the AmlCode
239           declaration.
240
241           If unsure, don't enter a file name.
242
243 config ACPI_CUSTOM_DSDT
244         bool
245         default ACPI_CUSTOM_DSDT_FILE != ""
246
247 config ACPI_BLACKLIST_YEAR
248         int "Disable ACPI for systems before Jan 1st this year" if X86_32
249         default 0
250         help
251           Enter a 4-digit year, e.g., 2001, to disable ACPI by default
252           on platforms with DMI BIOS date before January 1st that year.
253           "acpi=force" can be used to override this mechanism.
254
255           Enter 0 to disable this mechanism and allow ACPI to
256           run by default no matter what the year.  (default)
257
258 config ACPI_DEBUG
259         bool "Debug Statements"
260         default n
261         help
262           The ACPI subsystem can produce debug output.  Saying Y enables this
263           output and increases the kernel size by around 50K.
264
265           Use the acpi.debug_layer and acpi.debug_level kernel command-line
266           parameters documented in Documentation/acpi/debug.txt and
267           Documentation/kernel-parameters.txt to control the type and
268           amount of debug output.
269
270 config ACPI_DEBUG_FUNC_TRACE
271         bool "Additionally enable ACPI function tracing"
272         default n
273         depends on ACPI_DEBUG
274         help
275           ACPI Debug Statements slow down ACPI processing. Function trace
276           is about half of the penalty and is rarely useful.
277
278 config ACPI_PCI_SLOT
279         tristate "PCI slot detection driver"
280         depends on SYSFS
281         default n
282         help
283           This driver creates entries in /sys/bus/pci/slots/ for all PCI
284           slots in the system.  This can help correlate PCI bus addresses,
285           i.e., segment/bus/device/function tuples, with physical slots in
286           the system.  If you are unsure, say N.
287
288           To compile this driver as a module, choose M here:
289           the module will be called pci_slot.
290
291 config X86_PM_TIMER
292         bool "Power Management Timer Support" if EMBEDDED
293         depends on X86
294         default y
295         help
296           The Power Management Timer is available on all ACPI-capable,
297           in most cases even if ACPI is unusable or blacklisted.
298
299           This timing source is not affected by power management features
300           like aggressive processor idling, throttling, frequency and/or
301           voltage scaling, unlike the commonly used Time Stamp Counter
302           (TSC) timing source.
303
304           You should nearly always say Y here because many modern
305           systems require this timer. 
306
307 config ACPI_CONTAINER
308         tristate "Container and Module Devices (EXPERIMENTAL)"
309         depends on EXPERIMENTAL
310         default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
311         help
312           This driver supports ACPI Container and Module devices (IDs
313           ACPI0004, PNP0A05, and PNP0A06).
314
315           This helps support hotplug of nodes, CPUs, and memory.
316
317           To compile this driver as a module, choose M here:
318           the module will be called container.
319
320 config ACPI_HOTPLUG_MEMORY
321         tristate "Memory Hotplug"
322         depends on MEMORY_HOTPLUG
323         default n
324         help
325           This driver supports ACPI memory hotplug.  The driver
326           fields notifications on ACPI memory devices (PNP0C80),
327           which represent memory ranges that may be onlined or
328           offlined during runtime.
329
330           If your hardware and firmware do not support adding or
331           removing memory devices at runtime, you need not enable
332           this driver.
333
334           To compile this driver as a module, choose M here:
335           the module will be called acpi_memhotplug.
336
337 config ACPI_SBS
338         tristate "Smart Battery System"
339         depends on X86
340         help
341           This driver supports the Smart Battery System, another
342           type of access to battery information, found on some laptops.
343
344           To compile this driver as a module, choose M here:
345           the modules will be called sbs and sbshc.
346
347 endif   # ACPI