diff options
author | Diana Z <dzigterman@chromium.org> | 2020-08-24 16:05:52 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-08-27 00:50:30 +0000 |
commit | 66e48a5203fd3e4d2d12ab8dad5a012c10930f84 (patch) | |
tree | 1c75b046b8dd731bf87ab63d8bb5dd141d22ee10 /common/charger.c | |
parent | 865a57be356a76cebd8fd6429dcba9ed0a4cded7 (diff) | |
download | chrome-ec-66e48a5203fd3e4d2d12ab8dad5a012c10930f84.tar.gz |
Charger: Call discharge on AC for all chargers
This change adds a loop to the common charger driver to set
discharge on AC for all chargers, since it's unlikely a caller of this
API would only want this feature enabled for a single port.
BRANCH=None
BUG=b:164256610
TEST=make -j buildall
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: Ib23a93259a630016cb0f1384a6fc2b19b2baafb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2375725
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'common/charger.c')
-rw-r--r-- | common/charger.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/common/charger.c b/common/charger.c index 68f8f71ced..666d170279 100644 --- a/common/charger.c +++ b/common/charger.c @@ -435,17 +435,19 @@ enum ec_error_list charger_set_voltage(int chgnum, int voltage) enum ec_error_list charger_discharge_on_ac(int enable) { - int chgnum = 0; + int chgnum; int rv = EC_ERROR_UNIMPLEMENTED; - if ((chgnum < 0) || (chgnum >= board_get_charger_chip_count())) { - CPRINTS("%s(%d) Invalid charger!", __func__, chgnum); - return EC_ERROR_INVAL; + /* + * When discharge on AC is selected, cycle through all chargers to + * enable or disable this feature. + */ + for (chgnum = 0; chgnum < board_get_charger_chip_count(); chgnum++) { + if (chg_chips[chgnum].drv->discharge_on_ac) + rv = chg_chips[chgnum].drv->discharge_on_ac(chgnum, + enable); } - if (chg_chips[chgnum].drv->discharge_on_ac) - rv = chg_chips[chgnum].drv->discharge_on_ac(chgnum, enable); - return rv; } |