From 99f210a1d7cbccbcfb0e29880d48b55f6857ed11 Mon Sep 17 00:00:00 2001 From: Qianggui Song Date: Sun, 29 Sep 2019 18:55:08 +0800 Subject: [PATCH] ir: cannot wakeup system when keep pressing power key [1/1] PD#SWPL-14797 Problem: In freeze mode, keep press power key won't wake up system. Solution: replace pm_wakup_event with pm_stay_awake Verify: tl1 Change-Id: I5b88714ff45034280ec1d638f86b51fa54e2a011 Signed-off-by: Qianggui Song --- drivers/amlogic/input/remote/remote_core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/amlogic/input/remote/remote_core.c b/drivers/amlogic/input/remote/remote_core.c index f9c25d5..f59c8c7 100644 --- a/drivers/amlogic/input/remote/remote_core.c +++ b/drivers/amlogic/input/remote/remote_core.c @@ -65,6 +65,8 @@ static void ir_do_keyup(struct remote_dev *dev) { input_report_key(dev->input_device, dev->last_keycode, 0); input_sync(dev->input_device); + if (dev->last_keycode == KEY_POWER) + pm_relax(dev->dev); dev->keypressed = false; dev->last_scancode = -1; remote_dbg(dev->dev, "keyup!!\n"); @@ -145,7 +147,7 @@ void remote_keydown(struct remote_dev *dev, int scancode, int status) if (status == REMOTE_NORMAL) { keycode = dev->getkeycode(dev, scancode); if (keycode == KEY_POWER) - pm_wakeup_event(dev->dev, 2000); + pm_stay_awake(dev->dev); ir_do_keydown(dev, scancode, keycode); } -- 2.7.4