summaryrefslogtreecommitdiff
path: root/include/charge_manager.h
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2018-09-14 10:47:53 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-09-20 21:29:59 -0700
commit69246cf51011ca951e5c405f5a4d2ee4448eb66c (patch)
treed99ec6c42874d825f705bcd3ba3c7a709c103232 /include/charge_manager.h
parentd5b9b8c12570a57def102d0039f0aef379582fb0 (diff)
downloadchrome-ec-69246cf51011ca951e5c405f5a4d2ee4448eb66c.tar.gz
chgmgr: Allow charge_manager_update_charge to accept NULL
Currently, charge_manager_update_charge does not handle NULL pointer for struct charge_port_info any differently. It's not sanity-checked either (thus memory access violation can occur). This patch will make charge_manager_update_charge accept NULL pointer and set available current and voltage to zero. This also helps callers' intentions be clear because callers can explicitly specify NULL (instead of passing a pointer to chg = {0}, which is initialized somewhere else). Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I518662ab6a3a07f93da5d34cf62a6f856884f67d Reviewed-on: https://chromium-review.googlesource.com/1226125 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'include/charge_manager.h')
-rw-r--r--include/charge_manager.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/charge_manager.h b/include/charge_manager.h
index 17b649052b..41ba9bcb59 100644
--- a/include/charge_manager.h
+++ b/include/charge_manager.h
@@ -57,9 +57,10 @@ struct charge_port_info {
/**
* Called by charging tasks to update their available charge.
*
- * @param supplier Charge supplier to update.
- * @param port Charge port to update.
- * @param charge Charge port current / voltage.
+ * @param supplier Charge supplier to update.
+ * @param port Charge port to update.
+ * @param charge Charge port current / voltage. If NULL, current = 0
+ * voltage = 0 will be used.
*/
void charge_manager_update_charge(int supplier,
int port,