summaryrefslogtreecommitdiff
path: root/power/mt8186.c
diff options
context:
space:
mode:
authorRob Barnes <robbarnes@google.com>2022-03-16 06:20:15 -0600
committerCommit Bot <commit-bot@chromium.org>2022-03-17 20:28:54 +0000
commit4412c9404d6e28e168ed2a4856d6d678707c8967 (patch)
tree730e26a7d6c0b37ce2f9494a47eb21986c069493 /power/mt8186.c
parentc24772c046ec72364e61e694694dca7865de0570 (diff)
downloadchrome-ec-4412c9404d6e28e168ed2a4856d6d678707c8967.tar.gz
power: Add chipset and board callbacks for sleep hangs
Instead of passing a callback to host_sleep, define overridable board and chipset callbacks for sleep hang detection. Introduce a sleep_hang_type enum that identifies the type of sleep hang (suspend or resume). These changes make it eaier for boards to implement custom logic to handle sleep hangs. BUG=b:218892808 BRANCH=guybrush TEST=Observe suspend hang detection on Nipperkin with KI Change-Id: Ifacf90f808b1447633f7cfc2d570209d1e233950 Signed-off-by: Rob Barnes <robbarnes@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3529606 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'power/mt8186.c')
-rw-r--r--power/mt8186.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/power/mt8186.c b/power/mt8186.c
index 17beb48256..b83a46856b 100644
--- a/power/mt8186.c
+++ b/power/mt8186.c
@@ -438,7 +438,8 @@ static void power_button_changed(void)
DECLARE_HOOK(HOOK_POWER_BUTTON_CHANGE, power_button_changed, HOOK_PRIO_DEFAULT);
#ifdef CONFIG_POWER_TRACK_HOST_SLEEP_STATE
-static void suspend_hang_detected(void)
+__override void power_chipset_handle_sleep_hang(
+ enum sleep_hang_type hang_type)
{
CPRINTS("Warning: Detected sleep hang! Waking host up!");
host_set_single_event(EC_HOST_EVENT_HANG_DETECT);
@@ -457,7 +458,7 @@ __override void power_chipset_handle_host_sleep_event(
* notification needs to be sent to listeners.
*/
sleep_set_notify(SLEEP_NOTIFY_SUSPEND);
- sleep_start_suspend(ctx, suspend_hang_detected);
+ sleep_start_suspend(ctx);
} else if (state == HOST_SLEEP_EVENT_S3_RESUME) {
/*