diff options
Diffstat (limited to 'include/charge_manager.h')
-rw-r--r-- | include/charge_manager.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/charge_manager.h b/include/charge_manager.h index 8758c3a19c..6cfd6cc7ce 100644 --- a/include/charge_manager.h +++ b/include/charge_manager.h @@ -51,8 +51,21 @@ enum dualrole_capabilities { /* Called by charging tasks to indicate partner dualrole capability change */ void charge_manager_update_dualrole(int port, enum dualrole_capabilities cap); -/* Update charge ceiling for a given port */ -void charge_manager_set_ceil(int port, int ceil); +/* + * Charge ceiling can be set independently by different tasks / functions, + * for different purposes. + */ +enum ceil_requestor { + /* Set by PD task, during negotiation */ + CEIL_REQUESTOR_PD, + /* Set by host commands */ + CEIL_REQUESTOR_HOST, + /* Number of ceiling groups */ + CEIL_REQUESTOR_COUNT, +}; + +/* Update charge ceiling for a given port / requestor */ +void charge_manager_set_ceil(int port, enum ceil_requestor requestor, int ceil); /* Select an 'override port', which is always the preferred charge port */ int charge_manager_set_override(int port); |