summaryrefslogtreecommitdiff
path: root/power/common.c
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-09-21 11:12:16 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-09-22 10:18:48 -0700
commitf1375bec42b6862746ed026d5c3f6a5f97d3e7ac (patch)
tree30c9edeb24c49f5ac4da61d0ecdcc87ef6c63f25 /power/common.c
parent6f07b9212c72bc467d3c284ca2c8cebf51dd0a98 (diff)
downloadchrome-ec-f1375bec42b6862746ed026d5c3f6a5f97d3e7ac.tar.gz
power: Provide chipset and board callbacks on host sleep event command
This change allows chipset and board to perform any action when host indicates intention to enter sleep state. Chipset can take action like enable/disable power signal interrupts and boards can enable/disable decay of VRs on host intent to enter/exit S0ix. BUG=b:65732924 BRANCH=None TEST=make -j buildall Change-Id: I6298825d4ee96a07b93523c2f366527ae2be8a27 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/677498 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'power/common.c')
-rw-r--r--power/common.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/power/common.c b/power/common.c
index 381b1e0099..4669d23d8a 100644
--- a/power/common.c
+++ b/power/common.c
@@ -729,12 +729,20 @@ DECLARE_CONSOLE_COMMAND(pause_in_s5, command_pause_in_s5,
/* Track last reported sleep event */
static enum host_sleep_event host_sleep_state;
+void __attribute__((weak))
+power_chipset_handle_host_sleep_event(enum host_sleep_event state)
+{
+ /* Default weak implementation -- no action required. */
+}
+
static int host_command_host_sleep_event(struct host_cmd_handler_args *args)
{
const struct ec_params_host_sleep_event *p = args->params;
host_sleep_state = p->sleep_event;
+ power_chipset_handle_host_sleep_event(host_sleep_state);
+
return EC_RES_SUCCESS;
}
DECLARE_HOST_COMMAND(EC_CMD_HOST_SLEEP_EVENT,