ACPI : Disable the device's ability to wake the sleeping system in the boot phase

Previous thread: ACPICA: Fix for some local named nodes not marked temporary and to disallow duplicates by Linux Kernel Mailing List on Wednesday, April 30, 2008 - 12:33 pm. (1 message)

Next thread: flush kacpi_notify_wq before removing notify handler by Linux Kernel Mailing List on Wednesday, April 30, 2008 - 12:33 pm. (1 message)
From: Linux Kernel Mailing List
Date: Wednesday, April 30, 2008 - 12:33 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=729b2b...
Commit:     729b2bdbfa19dd9be98dbd49caf2773b3271cc24
Parent:     7180c4c9e09888db0a188f729c96c6d7bd61fa83
Author:     Zhao Yakui <yakui.zhao@intel.com>
AuthorDate: Wed Mar 19 13:26:54 2008 +0800
Committer:  Len Brown <len.brown@intel.com>
CommitDate: Wed Apr 9 21:57:22 2008 -0400

    ACPI : Disable the device's ability to wake the sleeping system in the boot phase
    
    In some machines some GPE is shared by several ACPI devices, for example:
    sleep button, keyboard, mouse. At the same time one of them is
    non-wake(runtime) device and the other are wake devices. In such case OSPM
    should call the _PSW object to disable the device's ability to
    wake the sleeping system in the boot phase.
    Otherwise there will be ACPI interrupt flood triggered by the GPE input.
    
    The _PSW object is depreciated in ACPI 3.0 and is replaced by _DSW.
    So it is necessary to call _DSW object first. Only when it is not
    present will the _PSW object used.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=10224
    
    Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
    Signed-off-by: Zhang Rui  <rui.zhang@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/scan.c |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index e6ce262..bd32351 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -692,6 +692,9 @@ static int acpi_bus_get_wakeup_device_flags(struct acpi_device *device)
 	acpi_status status = 0;
 	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
 	union acpi_object *package = NULL;
+	union acpi_object in_arg[3];
+	struct acpi_object_list arg_list = { 3, in_arg };
+	acpi_status psw_status = AE_OK;
 
 	struct acpi_device_id button_device_ids[] = {
 		{"PNP0C0D", 0},
@@ ...
Previous thread: ACPICA: Fix for some local named nodes not marked temporary and to disallow duplicates by Linux Kernel Mailing List on Wednesday, April 30, 2008 - 12:33 pm. (1 message)

Next thread: flush kacpi_notify_wq before removing notify handler by Linux Kernel Mailing List on Wednesday, April 30, 2008 - 12:33 pm. (1 message)