summaryrefslogtreecommitdiff
path: root/common/charge_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/charge_manager.c')
-rw-r--r--common/charge_manager.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index ed47c8812a..da465d2d73 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -543,6 +543,15 @@ static void charge_manager_refresh(void)
}
DECLARE_DEFERRED(charge_manager_refresh);
+/**
+ * Called when charge override times out waiting for power swap.
+ */
+static void charge_override_timeout(void)
+{
+ pd_send_host_event(PD_EVENT_POWER_CHANGE);
+}
+DECLARE_DEFERRED(charge_override_timeout);
+
static void charge_manager_make_change(enum charge_manager_change_type change,
int supplier,
int port,
@@ -599,7 +608,7 @@ static void charge_manager_make_change(enum charge_manager_change_type change,
delayed_override_port);
delayed_override_port = OVERRIDE_OFF;
hook_call_deferred(
- board_charge_manager_override_timeout,
+ charge_override_timeout,
-1);
}
}
@@ -709,7 +718,7 @@ int charge_manager_set_override(int port)
delayed_override_port = OVERRIDE_OFF;
hook_call_deferred(
- board_charge_manager_override_timeout, -1);
+ charge_override_timeout, -1);
}
/* Set the override port if it's a sink. */
@@ -731,7 +740,7 @@ int charge_manager_set_override(int port)
POWER_SWAP_TIMEOUT;
delayed_override_port = port;
hook_call_deferred(
- board_charge_manager_override_timeout,
+ charge_override_timeout,
POWER_SWAP_TIMEOUT);
pd_request_power_swap(port);
/* Can't charge from requested port -- return error. */