summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-07-26 13:11:39 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-07-26 19:42:47 -0700
commit4ffe42b4273176b92087ec464b55034738bf8513 (patch)
tree7340dff92b9883731385b3deb1bcf376e45b6bc3
parent7bd4984b011daa1c55716aec5a2677a4fe632a5c (diff)
downloadchrome-ec-4ffe42b4273176b92087ec464b55034738bf8513.tar.gz
rk3399: Start 'force shutdown' timer on initial power press
On a power press that will bring the system to S0, start our 8 sec timeout in case the power button is never released. BUG=chrome-os-partner:55666 BRANCH=None TEST=Press and hold power button on kevin to bring device to S0, verify device boots in normal mode and powers down ~8 seconds after initial press. Change-Id: I1cbb52974bcc09d23a130df13815cee07968467a Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/363592 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--power/rk3399.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/power/rk3399.c b/power/rk3399.c
index dd76f5ef74..720ec09151 100644
--- a/power/rk3399.c
+++ b/power/rk3399.c
@@ -314,14 +314,15 @@ static void power_button_changed(void)
/* Power up from off */
chipset_exit_hard_off();
- else if (!chipset_in_state(CHIPSET_STATE_ON))
+ else if (!chipset_in_state(CHIPSET_STATE_ON)) {
/* Power down immediately from S3 */
force_shutdown();
+ return;
+ }
- else
- /* Delayed power down from S0 */
- hook_call_deferred(&force_shutdown_data,
- FORCED_SHUTDOWN_DELAY);
+ /* Delayed power down from S0, cancel on PB release */
+ hook_call_deferred(&force_shutdown_data,
+ FORCED_SHUTDOWN_DELAY);
} else {
/* Power button released, cancel deferred shutdown */
hook_call_deferred(&force_shutdown_data, -1);