diff --git a/drivers/acpi/Config.help b/drivers/acpi/Config.help index 86d30fbe037bdd02f20c154d95994f48a183daec..95ba5bb48dd85fc86488850889cb1bd603af6059 100644 --- a/drivers/acpi/Config.help +++ b/drivers/acpi/Config.help @@ -12,6 +12,12 @@ CONFIG_ACPI Management (APM) specification. If both ACPI and APM support are configured, whichever is loaded first shall be used. + Add "acpi=off" to the kernel command line to disable this feature. + (Try "man bootparam" or see the documentation of your boot loader + about how to pass options to the kernel at boot time.) + + ---------- + The ACPI SourceForge project contains the latest source code, documentation, tools, mailing list subscription, and other information. This project is available at: @@ -26,51 +32,28 @@ CONFIG_ACPI available at: <http://www.acpi.info> -CONFIG_ACPI_BOOT - This option enables the use of ACPI tables for obtaining various - boot-time configuration information such as system processors, - memory, and interrupt routing. - - ACPI tables supercede legacy BIOS interfaces. For example, the - Multiple APIC Description Table (MADT) defined by the ACPI - Specification is a replacement for the MP Configuration Table - defined by the MultiProcessor Specification (MPS). - - You can disable this feature on IA32 systems by adding "acpi_boot=off" - to your kernel command line. (Try "man bootparam" or see the - documentation of your boot loader about how to pass options to the - kernel at boot time.) - - IA64 systems do not support legacy BIOS interfaces and thus rely - on ACPI tables to boot the system. No kernel command line options - are supported. - -CONFIG_ACPI_INTERPRETER - The ACPI Interpreter (a.k.a. ACPI Core Subsystem) provides the - fundamental services required to parse the ACPI namespace, evaluate - control methods, and manage ACPI hardware and events. This - subsystem exposes kernel interfaces allowing higher level software - to manipulate ACPI defined hardware and software interfaces. - - Add "acpi=off" to the kernel command line to disable this feature. - (Try "man bootparam" or see the documentation of your boot loader - about how to pass options to the kernel at boot time.) +CONFIG_ACPI_HT_ONLY + This option enables limited ACPI support -- just enough to + enumerate processors from the ACPI Multiple APIC Description + Table (MADT). Note that ACPI supports both logical (e.g. Hyper- + Threading) and physical processors, where the MultiProcessor + Specification (MPS) table only supports physical processors. - Note that this option will enlarge your kernel by about 100K. + Full ACPI support (CONFIG_ACPI) is preferred. Use this option + only if you wish to limit ACPI's role to processor enumeration. -CONFIG_ACPI_BUS - The ACPI Bus driver enumerates and manages devices in the ACPI - namespace in a manner similar to other bus drivers (e.g. PCI). - All ACPI device drivers rely on its services. + There is no command-line option to disable this, but the kernel + will fall back to the MPS table if the MADT is not present. CONFIG_ACPI_AC This driver adds support for the AC Adapter object, which indicates - whether a system is on AC, or not. Typically, only laptops have - this object, since desktops are always on AC. + whether a system is on AC, or not. Typically, only mobile systems + have this object, since desktops are always on AC. CONFIG_ACPI_BATTERY This driver adds support for battery information through - /proc/acpi/battery. If you have a laptop with a battery, say Y. + /proc/acpi/battery. If you have a mobile system with a battery, + say Y. CONFIG_ACPI_BUTTON This driver registers for events based on buttons, such as the @@ -79,21 +62,10 @@ CONFIG_ACPI_BUTTON down the system. Until then, you can cat it, and see output when a button is pressed. -CONFIG_ACPI_DEBUG - The ACPI driver can optionally report errors with a great deal - of verbosity. Saying Y enables these statements. This will increase - your kernel size by around 50K. - CONFIG_ACPI_EC This driver is required on some systems for the proper operation of - the battery and thermal drivers. If you are compiling for a laptop, - say Y. - -CONFIG_ACPI_PCI - This option enables ACPI-based enumeration and configuration of PCI - root bridge devices, including PCI interrupt routing (_PRT) support. - This is required on platforms that no longer support legacy tables - (e.g. MPS/PIR) or have erroneous table entries. + the battery and thermal drivers. If you are compiling for a + mobile system, say Y. CONFIG_ACPI_PROCESSOR This driver installs ACPI as the idle handler for Linux, and uses @@ -114,9 +86,8 @@ CONFIG_ACPI_SYSTEM This driver will enable your system to shut down using ACPI, and dump your ACPI DSDT table using /proc/acpi/dsdt. -CONFIG_ACPI_SLEEP - Enables low-level sleep support, allowing the platform to enter - and exit the S1-S4 states. Note that although the platform may - support this capability, full sleep support will not be viable - until drivers properly save/restore hardware context. (In other - words, use at your own risk!) +CONFIG_ACPI_DEBUG + The ACPI driver can optionally report errors with a great deal + of verbosity. Saying Y enables these statements. This will increase + your kernel size by around 50K. + diff --git a/drivers/acpi/Config.in b/drivers/acpi/Config.in index 89060081c3a4e9626d4a5ff795eb4b7e13d2fbb9..83de426260d9c7f942b8e883dad10419d571094a 100644 --- a/drivers/acpi/Config.in +++ b/drivers/acpi/Config.in @@ -1,40 +1,76 @@ # # ACPI Configuration # + if [ "$CONFIG_X86" = "y" ]; then + mainmenu_option next_comment comment 'ACPI Support' - dep_bool 'ACPI Support' CONFIG_ACPI $CONFIG_PCI + bool 'ACPI Support' CONFIG_ACPI if [ "$CONFIG_ACPI" = "y" ]; then - define_bool CONFIG_ACPI_BOOT y - define_bool CONFIG_ACPI_BUS y - define_bool CONFIG_ACPI_EC y - define_bool CONFIG_ACPI_INTERPRETER y - define_bool CONFIG_ACPI_PCI y - define_bool CONFIG_ACPI_POWER y - define_bool CONFIG_ACPI_SLEEP y - define_bool CONFIG_ACPI_SYSTEM y - tristate ' AC Adapter' CONFIG_ACPI_AC - tristate ' Battery' CONFIG_ACPI_BATTERY - tristate ' Button' CONFIG_ACPI_BUTTON - tristate ' Fan' CONFIG_ACPI_FAN - tristate ' Processor' CONFIG_ACPI_PROCESSOR - dep_tristate ' Thermal Zone' CONFIG_ACPI_THERMAL $CONFIG_ACPI_PROCESSOR - bool ' Debug Statements' CONFIG_ACPI_DEBUG + if [ "$CONFIG_X86_LOCAL_APIC" = "y" ]; then + bool 'CPU Enumeration Only' CONFIG_ACPI_HT_ONLY + fi + + if [ "$CONFIG_ACPI_HT_ONLY" = "y" ]; then + define_bool CONFIG_ACPI_BOOT y + else + define_bool CONFIG_ACPI_BOOT y + define_bool CONFIG_ACPI_BUS y + define_bool CONFIG_ACPI_INTERPRETER y + define_bool CONFIG_ACPI_EC y + define_bool CONFIG_ACPI_POWER y + if [ "$CONFIG_PCI" = "y" ]; then + define_bool CONFIG_ACPI_PCI y + fi + define_bool CONFIG_ACPI_SLEEP y + define_bool CONFIG_ACPI_SYSTEM y + tristate ' AC Adapter' CONFIG_ACPI_AC + tristate ' Battery' CONFIG_ACPI_BATTERY + tristate ' Button' CONFIG_ACPI_BUTTON + tristate ' Fan' CONFIG_ACPI_FAN + tristate ' Processor' CONFIG_ACPI_PROCESSOR + dep_tristate ' Thermal Zone' CONFIG_ACPI_THERMAL $CONFIG_ACPI_PROCESSOR + bool ' Debug Statements' CONFIG_ACPI_DEBUG + fi fi + endmenu + fi + if [ "$CONFIG_IA64" = "y" ]; then + + if [ "$CONFIG_IA64_SGI_SN" = "y" ]; then + mainmenu_option next_comment + comment 'ACPI Support' + define_bool CONFIG_ACPI y + define_bool CONFIG_ACPI_EFI y + define_bool CONFIG_ACPI_BOOT y + define_bool CONFIG_ACPI_BUS n + define_bool CONFIG_ACPI_INTERPRETER n + define_bool CONFIG_ACPI_PCI n + define_bool CONFIG_ACPI_POWER n + define_bool CONFIG_ACPI_SYSTEM n + define_bool CONFIG_ACPI_BUTTON n + define_bool CONFIG_ACPI_FAN n + define_bool CONFIG_ACPI_PROCESSOR n + define_bool CONFIG_ACPI_THERMAL n + endmenu + fi + if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then mainmenu_option next_comment comment 'ACPI Support' + if [ "$CONFIG_PCI" = "y" ]; then + define_bool CONFIG_ACPI_PCI y + fi define_bool CONFIG_ACPI y define_bool CONFIG_ACPI_EFI y define_bool CONFIG_ACPI_BOOT y define_bool CONFIG_ACPI_BUS y define_bool CONFIG_ACPI_INTERPRETER y - define_bool CONFIG_ACPI_PCI y define_bool CONFIG_ACPI_POWER y define_bool CONFIG_ACPI_SYSTEM y tristate ' Button' CONFIG_ACPI_BUTTON @@ -44,4 +80,5 @@ if [ "$CONFIG_IA64" = "y" ]; then bool ' Debug Statements' CONFIG_ACPI_DEBUG endmenu fi + fi diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile index 390917e8e087abbaf715702bf526b26526e7ff0d..9fab3958d711167c0c3efdd0bcda26a952d266c5 100644 --- a/drivers/acpi/Makefile +++ b/drivers/acpi/Makefile @@ -2,6 +2,8 @@ # Makefile for the Linux ACPI interpreter # +O_TARGET := acpi.o + export ACPI_CFLAGS ACPI_CFLAGS := -D_LINUX -I$(CURDIR)/include @@ -19,12 +21,12 @@ obj-y := acpi_ksyms.o # # ACPI Boot-Time Table Parsing # -obj-$(CONFIG_ACPI_BOOT) += acpi_tables.o +obj-$(CONFIG_ACPI_BOOT) += tables.o # # ACPI Core Subsystem (Interpreter) # -obj-$(CONFIG_ACPI_INTERPRETER) += acpi_osl.o acpi_utils.o \ +obj-$(CONFIG_ACPI_INTERPRETER) += osl.o utils.o \ dispatcher/ events/ executer/ hardware/ \ namespace/ parser/ resources/ tables/ \ utilities/ @@ -32,16 +34,16 @@ obj-$(CONFIG_ACPI_INTERPRETER) += acpi_osl.o acpi_utils.o \ # # ACPI Bus and Device Drivers # -obj-$(CONFIG_ACPI_BUS) += acpi_bus.o -obj-$(CONFIG_ACPI_AC) += acpi_ac.o -obj-$(CONFIG_ACPI_BATTERY) += acpi_battery.o -obj-$(CONFIG_ACPI_BUTTON) += acpi_button.o -obj-$(CONFIG_ACPI_EC) += acpi_ec.o -obj-$(CONFIG_ACPI_FAN) += acpi_fan.o -obj-$(CONFIG_ACPI_PCI) += acpi_pci_root.o acpi_pci_link.o -obj-$(CONFIG_ACPI_POWER) += acpi_power.o -obj-$(CONFIG_ACPI_PROCESSOR) += acpi_processor.o -obj-$(CONFIG_ACPI_THERMAL) += acpi_thermal.o -obj-$(CONFIG_ACPI_SYSTEM) += acpi_system.o +obj-$(CONFIG_ACPI_BUS) += bus.o +obj-$(CONFIG_ACPI_AC) += ac.o +obj-$(CONFIG_ACPI_BATTERY) += battery.o +obj-$(CONFIG_ACPI_BUTTON) += button.o +obj-$(CONFIG_ACPI_EC) += ec.o +obj-$(CONFIG_ACPI_FAN) += fan.o +obj-$(CONFIG_ACPI_PCI) += pci_root.o pci_link.o pci_irq.o pci_bind.o +obj-$(CONFIG_ACPI_POWER) += power.o +obj-$(CONFIG_ACPI_PROCESSOR) += processor.o +obj-$(CONFIG_ACPI_THERMAL) += thermal.o +obj-$(CONFIG_ACPI_SYSTEM) += system.o include $(TOPDIR)/Rules.make