[RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks

From: Lv Zheng
Date: Tue Jun 28 2016 - 04:05:03 EST


_PTS/_WAK may contain EC transactions, it is better to have them handled
with IRQ enabled. This patch moves the 2 suspend PM ops from noirq stage
to late/early stage.

Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
---
drivers/acpi/sleep.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index d30fce7f..c5c374c9 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -595,9 +595,10 @@ static int acpi_suspend_state_valid(suspend_state_t pm_state)
static const struct platform_suspend_ops acpi_suspend_ops = {
.valid = acpi_suspend_state_valid,
.begin = acpi_suspend_begin,
- .prepare_noirq = acpi_pm_prepare,
+ .prepare_late = __acpi_pm_prepare,
+ .prepare_noirq = acpi_pm_pre_suspend,
.enter = acpi_suspend_enter,
- .finish_noirq = acpi_pm_finish,
+ .finish_early = acpi_pm_finish,
.end = acpi_pm_end,
};

--
1.7.10