From 3ecaecfa2d59682005c0c32f8e4ce77f000f4ef1 Mon Sep 17 00:00:00 2001 From: xuwt2 Date: Sat, 12 Oct 2019 16:18:35 +0800 Subject: [PATCH] mmi_parallel_charger: "battery" psy update PROP_STATUS Under the parallel charging framework, the battery status should be determined by all charging IC status, and not only from pmic charging Change-Id: Idc85e8b96c1ff854f42f321e8e7b7a4c5ec55f6c Signed-off-by: xuwt2 Reviewed-on: https://gerrit.mot.com/1435998 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jianqi Yang Submit-Approved: Jira Key Reviewed-on: https://gerrit.mot.com/1893580 Reviewed-by: Wei Xu Reviewed-by: Xiangpo Zhao --- drivers/power/mmi_parallel_charger/mmi_charger_core.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/power/mmi_parallel_charger/mmi_charger_core.c b/drivers/power/mmi_parallel_charger/mmi_charger_core.c index 39ad8e735513..4b482a23f9f7 100644 --- a/drivers/power/mmi_parallel_charger/mmi_charger_core.c +++ b/drivers/power/mmi_parallel_charger/mmi_charger_core.c @@ -465,8 +465,17 @@ static int batt_get_property(struct power_supply *psy, mmi_chrg_err(chip, "Get Unknown prop %d rc = %d\n", psp, rc); rc = 0; val->intval = -EINVAL; - } else + } else { + val->intval = prop.intval; + if (psp == POWER_SUPPLY_PROP_STATUS && + prop.intval == POWER_SUPPLY_STATUS_NOT_CHARGING) { + rc = power_supply_get_property(chip->extrn_psy, + psp, &prop); + if (!rc && prop.intval == POWER_SUPPLY_STATUS_CHARGING) + val->intval = prop.intval; + } + } break; } return rc;