[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1449649050.2175.59.camel@kxue-X58A-UD3R>
Date: Wed, 9 Dec 2015 16:17:30 +0800
From: Ken Xue <ken.xue@....com>
To: <linux-acpi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<rjw@...ysocki.net>
CC: <lenb@...nel.org>, <SPG_Linux_Kernel@....com>,
<mika.westerberg@...ux.intel.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
<Ivan.Zheng@....com>, <Alex.Chuang@....com>, <tj@...nel.org>,
<stern@...land.harvard.edu>
Subject: [PATCH V2] ACPI: Support D3 COLD device in old BIOS for ZPODD
D3cold is only regarded as valid if the "_PR3" object is
present for the given device after the commit 20dacb71ad28
("ACPI/PM: Rework device power management to follow ACPI 6").
But some old BIOS only defined "_PS3" for the D3COLD device,
such as ZPODD device. And old kernel also believes the device with
"_PS3" is a D3COLD device.
So, add some logics for supporting D3 COLD device with old BIOS
which is compatible with earlier ACPI spec and kernel behavior.
Reference:
http://marc.info/?l=linux-acpi&m=144946938709759&w=2
Signed-off-by: Ken Xue <Ken.Xue@....com>
Reported-and-tested-by: Gang Long <Gang.Long@....com>
---
include/acpi/acpi_bus.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index ad0a5ff..9894b75 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -631,7 +631,9 @@ static inline bool acpi_device_can_wakeup(struct acpi_device *adev)
static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
{
- return adev->power.states[ACPI_STATE_D3_COLD].flags.valid;
+ return adev->power.states[ACPI_STATE_D3_COLD].flags.valid ||
+ ((acpi_gbl_FADT.header.revision < 6) &&
+ adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set);
}
#else /* CONFIG_ACPI */
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists