Commit f79e3185 authored by Len Brown's avatar Len Brown

Pull misc into release branch

Conflicts:

	Documentation/feature-removal-schedule.txt
parents e8b495fe 8b8eb7d8
...@@ -180,24 +180,11 @@ Who: Adrian Bunk <bunk@stusta.de> ...@@ -180,24 +180,11 @@ Who: Adrian Bunk <bunk@stusta.de>
--------------------------- ---------------------------
What: /sys/firmware/acpi/namespace
When: 2.6.21
Why: The ACPI namespace is effectively the symbol list for
the BIOS. The device names are completely arbitrary
and have no place being exposed to user-space.
For those interested in the BIOS ACPI namespace,
the BIOS can be extracted and disassembled with acpidump
and iasl as documented in the pmtools package here:
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils
Who: Len Brown <len.brown@intel.com>
---------------------------
What: ACPI procfs interface What: ACPI procfs interface
When: July 2007 When: July 2008
Why: After ACPI sysfs conversion, ACPI attributes will be duplicated Why: ACPI sysfs conversion should be finished by January 2008.
in sysfs and the ACPI procfs interface should be removed. ACPI procfs interface will be removed in July 2008 so that
there is enough time for the user space to catch up.
Who: Zhang Rui <rui.zhang@intel.com> Who: Zhang Rui <rui.zhang@intel.com>
--------------------------- ---------------------------
......
...@@ -984,14 +984,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { ...@@ -984,14 +984,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "PRIMERGY T850"), DMI_MATCH(DMI_PRODUCT_NAME, "PRIMERGY T850"),
}, },
}, },
{
.callback = force_acpi_ht,
.ident = "DELL GX240",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Dell Computer Corporation"),
DMI_MATCH(DMI_BOARD_NAME, "OptiPlex GX240"),
},
},
{ {
.callback = force_acpi_ht, .callback = force_acpi_ht,
.ident = "HP VISUALIZE NT Workstation", .ident = "HP VISUALIZE NT Workstation",
......
...@@ -2,16 +2,12 @@ ...@@ -2,16 +2,12 @@
# ACPI Configuration # ACPI Configuration
# #
menu "ACPI (Advanced Configuration and Power Interface) Support" menuconfig ACPI
bool "ACPI Support (Advanced Configuration and Power Interface) Support"
depends on !X86_NUMAQ depends on !X86_NUMAQ
depends on !X86_VISWS depends on !X86_VISWS
depends on !IA64_HP_SIM depends on !IA64_HP_SIM
depends on IA64 || X86 depends on IA64 || X86
depends on PM
config ACPI
bool "ACPI Support"
depends on IA64 || X86
depends on PCI depends on PCI
depends on PM depends on PM
select PNP select PNP
...@@ -49,7 +45,6 @@ if ACPI ...@@ -49,7 +45,6 @@ if ACPI
config ACPI_SLEEP config ACPI_SLEEP
bool "Sleep States" bool "Sleep States"
depends on X86 && (!SMP || SUSPEND_SMP) depends on X86 && (!SMP || SUSPEND_SMP)
depends on PM
default y default y
---help--- ---help---
This option adds support for ACPI suspend states. This option adds support for ACPI suspend states.
...@@ -82,7 +77,6 @@ config ACPI_SLEEP_PROC_SLEEP ...@@ -82,7 +77,6 @@ config ACPI_SLEEP_PROC_SLEEP
config ACPI_PROCFS config ACPI_PROCFS
bool "Procfs interface (deprecated)" bool "Procfs interface (deprecated)"
depends on ACPI
default y default y
---help--- ---help---
The Procfs interface for ACPI is made optional for backward compatibility. The Procfs interface for ACPI is made optional for backward compatibility.
...@@ -338,7 +332,6 @@ config ACPI_CONTAINER ...@@ -338,7 +332,6 @@ config ACPI_CONTAINER
config ACPI_HOTPLUG_MEMORY config ACPI_HOTPLUG_MEMORY
tristate "Memory Hotplug" tristate "Memory Hotplug"
depends on ACPI
depends on MEMORY_HOTPLUG depends on MEMORY_HOTPLUG
default n default n
help help
...@@ -367,5 +360,3 @@ config ACPI_SBS ...@@ -367,5 +360,3 @@ config ACPI_SBS
to today's ACPI "Control Method" battery. to today's ACPI "Control Method" battery.
endif # ACPI endif # ACPI
endmenu
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#if ACPI_GLUE_DEBUG #if ACPI_GLUE_DEBUG
#define DBG(x...) printk(PREFIX x) #define DBG(x...) printk(PREFIX x)
#else #else
#define DBG(x...) #define DBG(x...) do { } while(0)
#endif #endif
static LIST_HEAD(bus_type_list); static LIST_HEAD(bus_type_list);
static DECLARE_RWSEM(bus_type_sem); static DECLARE_RWSEM(bus_type_sem);
......
...@@ -733,7 +733,7 @@ static int acpi_pci_link_add(struct acpi_device *device) ...@@ -733,7 +733,7 @@ static int acpi_pci_link_add(struct acpi_device *device)
/* query and set link->irq.active */ /* query and set link->irq.active */
acpi_pci_link_get_current(link); acpi_pci_link_get_current(link);
printk(PREFIX "%s [%s] (IRQs", acpi_device_name(device), printk(KERN_INFO PREFIX "%s [%s] (IRQs", acpi_device_name(device),
acpi_device_bid(device)); acpi_device_bid(device));
for (i = 0; i < link->irq.possible_count; i++) { for (i = 0; i < link->irq.possible_count; i++) {
if (link->irq.active == link->irq.possible[i]) { if (link->irq.active == link->irq.possible[i]) {
......
...@@ -490,7 +490,17 @@ static void acpi_processor_idle(void) ...@@ -490,7 +490,17 @@ static void acpi_processor_idle(void)
case ACPI_STATE_C3: case ACPI_STATE_C3:
if (pr->flags.bm_check) { /*
* disable bus master
* bm_check implies we need ARB_DIS
* !bm_check implies we need cache flush
* bm_control implies whether we can do ARB_DIS
*
* That leaves a case where bm_check is set and bm_control is
* not set. In that case we cannot do much, we enter C3
* without doing anything.
*/
if (pr->flags.bm_check && pr->flags.bm_control) {
if (atomic_inc_return(&c3_cpu_count) == if (atomic_inc_return(&c3_cpu_count) ==
num_online_cpus()) { num_online_cpus()) {
/* /*
...@@ -499,7 +509,7 @@ static void acpi_processor_idle(void) ...@@ -499,7 +509,7 @@ static void acpi_processor_idle(void)
*/ */
acpi_set_register(ACPI_BITREG_ARB_DISABLE, 1); acpi_set_register(ACPI_BITREG_ARB_DISABLE, 1);
} }
} else { } else if (!pr->flags.bm_check) {
/* SMP with no shared cache... Invalidate cache */ /* SMP with no shared cache... Invalidate cache */
ACPI_FLUSH_CPU_CACHE(); ACPI_FLUSH_CPU_CACHE();
} }
...@@ -511,7 +521,7 @@ static void acpi_processor_idle(void) ...@@ -511,7 +521,7 @@ static void acpi_processor_idle(void)
acpi_cstate_enter(cx); acpi_cstate_enter(cx);
/* Get end time (ticks) */ /* Get end time (ticks) */
t2 = inl(acpi_gbl_FADT.xpm_timer_block.address); t2 = inl(acpi_gbl_FADT.xpm_timer_block.address);
if (pr->flags.bm_check) { if (pr->flags.bm_check && pr->flags.bm_control) {
/* Enable bus master arbitration */ /* Enable bus master arbitration */
atomic_dec(&c3_cpu_count); atomic_dec(&c3_cpu_count);
acpi_set_register(ACPI_BITREG_ARB_DISABLE, 0); acpi_set_register(ACPI_BITREG_ARB_DISABLE, 0);
...@@ -961,9 +971,9 @@ static void acpi_processor_power_verify_c3(struct acpi_processor *pr, ...@@ -961,9 +971,9 @@ static void acpi_processor_power_verify_c3(struct acpi_processor *pr,
if (pr->flags.bm_check) { if (pr->flags.bm_check) {
/* bus mastering control is necessary */ /* bus mastering control is necessary */
if (!pr->flags.bm_control) { if (!pr->flags.bm_control) {
/* In this case we enter C3 without bus mastering */
ACPI_DEBUG_PRINT((ACPI_DB_INFO, ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"C3 support requires bus mastering control\n")); "C3 support without bus mastering control\n"));
return;
} }
} else { } else {
/* /*
......
...@@ -210,11 +210,6 @@ static void acpi_hibernation_finish(void) ...@@ -210,11 +210,6 @@ static void acpi_hibernation_finish(void)
/* reset firmware waking vector */ /* reset firmware waking vector */
acpi_set_firmware_waking_vector((acpi_physical_address) 0); acpi_set_firmware_waking_vector((acpi_physical_address) 0);
if (init_8259A_after_S1) {
printk("Broken toshiba laptop -> kicking interrupts\n");
init_8259A(0);
}
} }
static int acpi_hibernation_pre_restore(void) static int acpi_hibernation_pre_restore(void)
......
...@@ -622,26 +622,26 @@ ...@@ -622,26 +622,26 @@
#define ACPI_DEBUG_EXEC(a) #define ACPI_DEBUG_EXEC(a)
#define ACPI_NORMAL_EXEC(a) a; #define ACPI_NORMAL_EXEC(a) a;
#define ACPI_DEBUG_DEFINE(a) #define ACPI_DEBUG_DEFINE(a) do { } while(0)
#define ACPI_DEBUG_ONLY_MEMBERS(a) #define ACPI_DEBUG_ONLY_MEMBERS(a) do { } while(0)
#define ACPI_FUNCTION_NAME(a) #define ACPI_FUNCTION_NAME(a) do { } while(0)
#define ACPI_FUNCTION_TRACE(a) #define ACPI_FUNCTION_TRACE(a) do { } while(0)
#define ACPI_FUNCTION_TRACE_PTR(a,b) #define ACPI_FUNCTION_TRACE_PTR(a,b) do { } while(0)
#define ACPI_FUNCTION_TRACE_U32(a,b) #define ACPI_FUNCTION_TRACE_U32(a,b) do { } while(0)
#define ACPI_FUNCTION_TRACE_STR(a,b) #define ACPI_FUNCTION_TRACE_STR(a,b) do { } while(0)
#define ACPI_FUNCTION_EXIT #define ACPI_FUNCTION_EXIT do { } while(0)
#define ACPI_FUNCTION_STATUS_EXIT(s) #define ACPI_FUNCTION_STATUS_EXIT(s) do { } while(0)
#define ACPI_FUNCTION_VALUE_EXIT(s) #define ACPI_FUNCTION_VALUE_EXIT(s) do { } while(0)
#define ACPI_FUNCTION_ENTRY() #define ACPI_FUNCTION_ENTRY() do { } while(0)
#define ACPI_DUMP_STACK_ENTRY(a) #define ACPI_DUMP_STACK_ENTRY(a) do { } while(0)
#define ACPI_DUMP_OPERANDS(a,b,c,d,e) #define ACPI_DUMP_OPERANDS(a,b,c,d,e) do { } while(0)
#define ACPI_DUMP_ENTRY(a,b) #define ACPI_DUMP_ENTRY(a,b) do { } while(0)
#define ACPI_DUMP_TABLES(a,b) #define ACPI_DUMP_TABLES(a,b) do { } while(0)
#define ACPI_DUMP_PATHNAME(a,b,c,d) #define ACPI_DUMP_PATHNAME(a,b,c,d) do { } while(0)
#define ACPI_DUMP_RESOURCE_LIST(a) #define ACPI_DUMP_RESOURCE_LIST(a) do { } while(0)
#define ACPI_DUMP_BUFFER(a,b) #define ACPI_DUMP_BUFFER(a,b) do { } while(0)
#define ACPI_DEBUG_PRINT(pl) #define ACPI_DEBUG_PRINT(pl) do { } while(0)
#define ACPI_DEBUG_PRINT_RAW(pl) #define ACPI_DEBUG_PRINT_RAW(pl) do { } while(0)
#define return_VOID return #define return_VOID return
#define return_ACPI_STATUS(s) return(s) #define return_ACPI_STATUS(s) return(s)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment