summaryrefslogtreecommitdiff
path: root/include/charge_manager.h
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2014-12-17 10:36:48 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-12-17 22:26:56 +0000
commit86835f7067b7ce26431ca459be3d59662736275f (patch)
tree29157fcda8227315f537cdb4168549344ba7421e /include/charge_manager.h
parentec12acc81f47e9b88517cd4a955414f7a1ee1cf6 (diff)
downloadchrome-ec-86835f7067b7ce26431ca459be3d59662736275f.tar.gz
charge_manager: Allow board to reject a selected charge port
Modify board_set_active_charge_port to return status indicating whether the selected charge port was rejected. If rejected, zero out its available charge and attempt to select a different charge port. Also, reduce the length of related console prints. BUG=chrome-os-partner:34677 TEST=Manual on Samus. Plug C-to-Arec into port 1, verify that charge manager does not select port 1 as active and charging icon is not seen in OS. BRANCH=Samus. Change-Id: I56e3337f90c04b93ef7cc9873af6ee0f4b1ffc7d Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/236361 Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'include/charge_manager.h')
-rw-r--r--include/charge_manager.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/charge_manager.h b/include/charge_manager.h
index 9cd0abeefb..d1ee472a50 100644
--- a/include/charge_manager.h
+++ b/include/charge_manager.h
@@ -35,7 +35,18 @@ int charge_manager_set_override(int port);
/* Returns the current active charge port, as determined by charge manager */
int charge_manager_get_active_charge_port(void);
-/* Board-level callback, called on delayed override timeout */
+/* Board-level callback functions */
+
+/*
+ * Set the active charge port. Returns EC_SUCCESS if the charge port is
+ * accepted, returns ec_error_list status otherwise.
+ */
+int board_set_active_charge_port(int charge_port);
+
+/* Set the charge current limit. */
+void board_set_charge_limit(int charge_ma);
+
+/* Called on delayed override timeout */
void board_charge_manager_override_timeout(void);
#endif /* __CHARGE_MANAGER_H */