summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Green <evgreen@chromium.org>2019-06-07 13:22:46 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-13 17:33:17 +0000
commit128b32a479efeb1394c518dfde6a11f5c6fbe411 (patch)
tree158127a1e323fde57bd624700fc05202ba89322d
parent3abcd13ee3ed69af1517d29378137148a4a2a750 (diff)
downloadchrome-ec-128b32a479efeb1394c518dfde6a11f5c6fbe411.tar.gz
common/battery: Avoid negative display percentages
Battery charges less than batt_host_shutdown_pct cause the display charge to go negative. This looks silly in EC console prints: [38.474266 Battery 2% (Display -2.-7 %) / 3h:15 to full] BUG=b:134586427 BRANCH=None TEST=Run kohaku down to low battery, observe display stays at 0. Change-Id: If8eb477b8bb21451069bac5c1474b7a408b30582 Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1650136 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872563 Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--common/battery.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/battery.c b/common/battery.c
index f791545e20..8ed0626af2 100644
--- a/common/battery.c
+++ b/common/battery.c
@@ -598,6 +598,8 @@ void battery_compensate_params(struct batt_params *batt)
denom = full * (batt_host_full_factor - batt_host_shutdown_pct);
/* Rounding (instead of truncating) */
batt->display_charge = (numer + denom / 2) / denom;
+ if (batt->display_charge < 0)
+ batt->display_charge = 0;
}
__attribute__((weak)) int get_battery_manufacturer_name(char *dest, int size)