From 27c7dbf75c673d53c31c4513e21cf89f9a8f265e Mon Sep 17 00:00:00 2001 From: Evan Green Date: Fri, 7 Jun 2019 13:22:46 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1650136 Reviewed-by: Tim Wawrzynczak Reviewed-by: Daisuke Nojiri Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3336665 Commit-Queue: Daisuke Nojiri Tested-by: Daisuke Nojiri --- common/battery.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/battery.c b/common/battery.c index 1582a33bc9..7563552143 100644 --- a/common/battery.c +++ b/common/battery.c @@ -607,6 +607,8 @@ void battery_compensate_params(struct batt_params *batt) denom = lfcc * (100 - batt_host_shutdown_pct); /* Rounding (instead of truncating) */ batt->display_charge = (numer + denom / 2) / denom; + if (batt->display_charge < 0) + batt->display_charge = 0; } __overridable void board_battery_compensate_params(struct batt_params *batt) -- cgit v1.2.1