summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2003-09-17 16:52:06 -0400
committerLen Brown <len.brown@intel.com>2003-09-17 16:52:06 -0400
commit2043727b2e4f8bc5d5b30188a9764ccef498ea6c (patch)
treeb04e54cb7510f4fdc160a7853bc56ed028e1cb76
parent7140df082aa676f0589c5d5a13f52c088f17d21a (diff)
parentd9c54c1d58d836c545e03cad78331b0168762003 (diff)
[ACPI] merge 2.4.22 cleanup into 2.6
Restores CONFIG_ACPI_HT_ONLY as an alternative to CONFIG_ACPI rather than a prerequisite
-rw-r--r--arch/i386/kernel/acpi/boot.c10
-rw-r--r--arch/i386/kernel/mpparse.c7
-rw-r--r--arch/i386/kernel/setup.c2
-rw-r--r--drivers/acpi/Kconfig108
-rw-r--r--drivers/acpi/Makefile2
-rw-r--r--include/linux/acpi.h6
-rw-r--r--init/do_mounts.h1
7 files changed, 72 insertions, 64 deletions
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index 528dfb381b1c..4ad7874ab76c 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -183,8 +183,7 @@ acpi_parse_lapic_nmi (
#endif /*CONFIG_X86_LOCAL_APIC*/
-#ifdef CONFIG_X86_IO_APIC
-
+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
static int __init
acpi_parse_ioapic (
@@ -368,7 +367,6 @@ acpi_boot_init (void)
result = acpi_table_parse(ACPI_APIC, acpi_parse_madt);
if (!result) {
- printk(KERN_WARNING PREFIX "MADT not present\n");
return 0;
}
else if (result < 0) {
@@ -416,7 +414,7 @@ acpi_boot_init (void)
#endif /*CONFIG_X86_LOCAL_APIC*/
-#ifdef CONFIG_X86_IO_APIC
+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
/*
* I/O APIC
@@ -472,7 +470,8 @@ acpi_boot_init (void)
acpi_irq_model = ACPI_IRQ_MODEL_IOAPIC;
acpi_ioapic = 1;
-#endif /*CONFIG_X86_IO_APIC*/
+
+#endif /* CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER */
#ifdef CONFIG_X86_LOCAL_APIC
if (acpi_lapic && acpi_ioapic) {
@@ -480,6 +479,7 @@ acpi_boot_init (void)
clustered_apic_check();
}
#endif
+
#ifdef CONFIG_HPET_TIMER
acpi_table_parse(ACPI_HPET, acpi_parse_hpet);
#endif
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c
index 96d97a18b8ae..fb9aba75d2f2 100644
--- a/arch/i386/kernel/mpparse.c
+++ b/arch/i386/kernel/mpparse.c
@@ -830,7 +830,7 @@ void __init mp_register_lapic (
MP_processor_info(&processor);
}
-#ifdef CONFIG_X86_IO_APIC
+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
#define MP_ISA_BUS 0
#define MP_MAX_IOAPIC_PIN 127
@@ -1019,8 +1019,6 @@ void __init mp_config_acpi_legacy_irqs (void)
}
}
-#ifdef CONFIG_ACPI
-
/* Ensure the ACPI SCI interrupt level is active low, edge-triggered */
extern FADT_DESCRIPTOR acpi_fadt;
@@ -1074,7 +1072,6 @@ void __init mp_config_ioapic_for_sci(int irq)
io_apic_set_pci_routing(ioapic, ioapic_pin, irq, 1, 1); // Active low, level triggered
}
-#endif /* CONFIG_ACPI */
#ifdef CONFIG_ACPI_PCI
@@ -1154,5 +1151,5 @@ void __init mp_parse_prt (void)
}
#endif /*CONFIG_ACPI_PCI*/
-#endif /* CONFIG_X86_IO_APIC */
+#endif /*CONFIG_X86_IO_APIC && CONFIG_ACPI_INTERPRETER*/
#endif /*CONFIG_ACPI_BOOT*/
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 1387d097f011..0015c3f96421 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -64,7 +64,7 @@ struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
unsigned long mmu_cr4_features;
EXPORT_SYMBOL_GPL(mmu_cr4_features);
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_INTERPRETER
int acpi_disabled __initdata = 0;
#else
int acpi_disabled __initdata = 1;
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index edc45e94669f..ccf141ce31d4 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -3,34 +3,14 @@
#
menu "ACPI (Advanced Configuration and Power Interface) Support"
-
-config ACPI_HT
- bool "ACPI Processor Enumeration for HT"
- depends on X86
- default y
- ---help---
- ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
- and physical processors. It is designed to obsolete several older
- specifications, including the MultiProcessor Specification (MPS),
- which supported only physical processors.
-
- CONFIG_ACPI_HT includes the minimal ACPI boot-time code
- necessary to enumerate logical processors and enable HT.
-
- CONFIG_ACPI includes CONFIG_ACPI_HT, plus IO APIC enumeration,
- and the hooks to run the ACPI AML interpreter for run-time events.
-
- When CONFIG_ACPI is selected, the command-line option "acpi=ht"
- is available to run just the ACPI boot-time code -- just as if
- only CONFIG_ACPI_HT were selected.
-
- Note that "acpi=off" can be used to disable all ACPI code in the kernel.
-
-config ACPI
- bool "Full ACPI Support"
depends on !X86_VISWS
depends on !IA64_HP_SIM
- depends on IA64 || (X86 || ACPI_HT)
+ depends on IA64 || X86
+
+config ACPI
+ bool "ACPI Support"
+ depends on IA64 || X86
+
default y
---help---
Advanced Configuration and Power Interface (ACPI) support for
@@ -60,14 +40,47 @@ config ACPI
available at:
<http://www.acpi.info>
+config ACPI_HT_ONLY
+ bool "Restrict ACPI to minimum boot code to enable HT"
+ depends on X86
+ depends on ACPI
+ depends on SMP
+ default n
+ ---help---
+ ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
+ and physical processors. It is designed to obsolete several older
+ specifications, including the MultiProcessor Specification (MPS),
+ which supported only physical processors.
+
+ CONFIG_ACPI_HT_ONLY includes just the minimal ACPI boot-time code
+ necessary to enumerate logical processors and enable HT.
+
+ CONFIG_ACPI includes this, plus IO APIC enumeration,
+ and the hooks to run the ACPI AML interpreter for run-time events.
+
+ When CONFIG_ACPI is selected, the command-line option "acpi=ht"
+ is available to run just the ACPI boot-time code -- just as if
+ only CONFIG_ACPI_HT_ONLY were selected.
+
+ Note that "acpi=off" can be used to disable all ACPI code in the kernel.
+
+
config ACPI_BOOT
bool
- depends on ACPI || ACPI_HT
+ depends on ACPI
+ default y
+
+config ACPI_INTERPRETER
+ bool
+ depends on ACPI
+ depends on !IA64_SGI_SN
+ depends on !ACPI_HT_ONLY
default y
config ACPI_SLEEP
bool "Sleep States (EXPERIMENTAL)"
depends on X86 && ACPI
+ depends on ACPI_INTERPRETER
depends on EXPERIMENTAL && PM
select SOFTWARE_SUSPEND
default y
@@ -94,7 +107,8 @@ config ACPI_SLEEP_PROC_FS
config ACPI_AC
tristate "AC Adapter"
- depends on X86 && ACPI
+ depends on X86
+ depends on ACPI_INTERPRETER
default m
help
This driver adds support for the AC Adapter object, which indicates
@@ -103,7 +117,8 @@ config ACPI_AC
config ACPI_BATTERY
tristate "Battery"
- depends on X86 && ACPI
+ depends on X86
+ depends on ACPI_INTERPRETER
default m
help
This driver adds support for battery information through
@@ -112,7 +127,7 @@ config ACPI_BATTERY
config ACPI_BUTTON
tristate "Button"
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default m
help
@@ -124,7 +139,7 @@ config ACPI_BUTTON
config ACPI_FAN
tristate "Fan"
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default m
help
@@ -133,7 +148,7 @@ config ACPI_FAN
config ACPI_PROCESSOR
tristate "Processor"
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default m
help
@@ -153,14 +168,15 @@ config ACPI_THERMAL
config ACPI_NUMA
bool "NUMA support"
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on NUMA
depends on !X86_64
default y if IA64_GENERIC || IA64_SGI_SN2
config ACPI_ASUS
tristate "ASUS/Medion Laptop Extras"
- depends on X86 && ACPI
+ depends on X86
+ depends on ACPI_INTERPRETER
default m
---help---
This driver provides support for extra features of ACPI-compatible
@@ -186,7 +202,8 @@ config ACPI_ASUS
config ACPI_TOSHIBA
tristate "Toshiba Laptop Extras"
- depends on X86 && ACPI
+ depends on X86
+ depends on ACPI_INTERPRETER
default m
---help---
This driver adds support for access to certain system settings
@@ -213,7 +230,7 @@ config ACPI_TOSHIBA
config ACPI_DEBUG
bool "Debug Statements"
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default n
help
@@ -223,19 +240,14 @@ config ACPI_DEBUG
config ACPI_BUS
bool
- depends on ACPI
- depends on !IA64_SGI_SN
- default y
-
-config ACPI_INTERPRETER
- bool
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default y
config ACPI_EC
bool
- depends on X86 && ACPI
+ depends on X86
+ depends on ACPI_INTERPRETER
default y
help
This driver is required on some systems for the proper operation of
@@ -244,19 +256,19 @@ config ACPI_EC
config ACPI_POWER
bool
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default y
config ACPI_PCI
bool
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default PCI
config ACPI_SYSTEM
bool
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on !IA64_SGI_SN
default y
help
@@ -265,7 +277,7 @@ config ACPI_SYSTEM
config ACPI_EFI
bool
- depends on ACPI
+ depends on ACPI_INTERPRETER
depends on IA64
default y
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index d16d4b876ad6..beb93c60d9f3 100644
--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -18,7 +18,7 @@ obj-$(CONFIG_ACPI) := acpi_ksyms.o
# ACPI Boot-Time Table Parsing
#
obj-$(CONFIG_ACPI_BOOT) += tables.o
-obj-$(CONFIG_ACPI) += blacklist.o
+obj-$(CONFIG_ACPI_INTERPRETER) += blacklist.o
#
# ACPI Core Subsystem (Interpreter)
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 94a0f27e331c..8e4eba21e7ea 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -424,17 +424,17 @@ int ec_write(u8 addr, u8 val);
#endif /*CONFIG_ACPI_EC*/
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_INTERPRETER
int acpi_blacklisted(void);
-#else
+#else /*!CONFIG_ACPI_INTERPRETER*/
static inline int acpi_blacklisted(void)
{
return 0;
}
-#endif /*CONFIG_ACPI*/
+#endif /*!CONFIG_ACPI_INTERPRETER*/
#endif /*_LINUX_ACPI_H*/
diff --git a/init/do_mounts.h b/init/do_mounts.h
index b10b9654a2cd..259de67dd0fa 100644
--- a/init/do_mounts.h
+++ b/init/do_mounts.h
@@ -79,4 +79,3 @@ void md_run_setup(void);
static inline void md_run_setup(void) {}
#endif
-