diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2014-12-17 10:36:48 -0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-12-17 22:26:56 +0000 |
commit | 86835f7067b7ce26431ca459be3d59662736275f (patch) | |
tree | 29157fcda8227315f537cdb4168549344ba7421e /include/charge_manager.h | |
parent | ec12acc81f47e9b88517cd4a955414f7a1ee1cf6 (diff) | |
download | chrome-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.h | 13 |
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 */ |