summaryrefslogtreecommitdiff
path: root/baseboard/kukui/battery_smart.c
diff options
context:
space:
mode:
authorIkjoon Jang <ikjn@chromium.org>2020-06-17 13:56:48 +0800
committerCommit Bot <commit-bot@chromium.org>2020-06-19 10:33:44 +0000
commit4df277da323b87bebb27209971670e6862d6f435 (patch)
tree6d6fa0dc76decb34530d754d4e81e48447dd51af /baseboard/kukui/battery_smart.c
parent46b89211e0480f7acf8d1cb832aac2e20827a48e (diff)
downloadchrome-ec-4df277da323b87bebb27209971670e6862d6f435.tar.gz
baseboard/kukui: Do not consider FET states in battery presence check
When Juniper is powered up with fully drained LGC battery, its FET states indicates battery is disconnected even it's still i2c responsive. In MT8183 platform, !battery_is_presence() isn't blocking power on, this function does not need to return BP_NO when battery is i2c responsive but DFET state is off. This patch fixes the problem of sbs-battery probe fail from host side when a device is powered up from external power source with fully drained battery reporting DFET state is off. BUG=b:153710351 TEST=none BRANCH=none Signed-off-by: Ikjoon Jang <ikjn@chromium.org> Change-Id: I67b750b7586fcad149c65e88e73dcbd872ca76bc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2247972 Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'baseboard/kukui/battery_smart.c')
-rw-r--r--baseboard/kukui/battery_smart.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/baseboard/kukui/battery_smart.c b/baseboard/kukui/battery_smart.c
index 3cd8facd5e..ba2af17443 100644
--- a/baseboard/kukui/battery_smart.c
+++ b/baseboard/kukui/battery_smart.c
@@ -16,7 +16,7 @@ enum battery_present batt_pres_prev = BP_NOT_SURE;
/*
* Physical detection of battery.
*/
-__overridable enum battery_present battery_check_present_status(void)
+static enum battery_present battery_check_present_status(void)
{
enum battery_present batt_pres = BP_NOT_SURE;
@@ -49,14 +49,8 @@ __overridable enum battery_present battery_check_present_status(void)
if (battery_get_disconnect_state() == BATTERY_DISCONNECT_ERROR)
return BP_NOT_SURE;
- /*
- * Ensure that battery is:
- * 1. Not in cutoff
- * 2. Not disconnected
- * 3. Initialized
- */
- if (battery_is_cut_off() != BATTERY_CUTOFF_STATE_NORMAL ||
- battery_get_disconnect_state() != BATTERY_NOT_DISCONNECTED)
+ /* Ensure the battery is not in cutoff state */
+ if (battery_is_cut_off() != BATTERY_CUTOFF_STATE_NORMAL)
return BP_NO;
return batt_pres;