the charging status shows "not charging",but the charging current is normal

classify ic state error
if ic status is eoc, charge status should be charging

Change-Id: I123a6256275b087762c599cad1a499f75f7aa7a4
Signed-off-by: longch99 <longch99@motorola.com>
Reviewed-on: https://gerrit.mot.com/2287101
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Qiong Xie <xieq2@motorola.com>
Reviewed-by: Wang Wang <wangwang1@lenovo.com>
Submit-Approved: Jira Key
This commit is contained in:
longch99 2022-06-02 15:15:29 +08:00 • committed by longc102
commit 56274b9880

View file

@ -2230,15 +2230,20 @@ static int rt9471_charger_get_property(struct power_supply *psy,
__rt9471_get_ic_stat(chip, &ic_stat);
if (ic_stat == RT9471_ICSTAT_TRICKLECHG ||
ic_stat == RT9471_ICSTAT_PRECHG ||
ic_stat == RT9471_ICSTAT_FASTCHG) {
ic_stat == RT9471_ICSTAT_FASTCHG ||
ic_stat == RT9471_ICSTAT_IEOC ||
ic_stat == RT9471_ICSTAT_BGCHG) {
val->intval = POWER_SUPPLY_STATUS_CHARGING;
} else if (ic_stat == RT9471_ICSTAT_BGCHG ||
ic_stat == RT9471_ICSTAT_IEOC ||
ic_stat == RT9471_ICSTAT_CHGDONE ||
} else if (ic_stat == RT9471_ICSTAT_CHGFAULT ||
ic_stat == RT9471_ICSTAT_VBUSRDY) {
val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
} else {
} else if (ic_stat == RT9471_ICSTAT_SLEEP ||
ic_stat == RT9471_ICSTAT_OTG){
val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
} else if (ic_stat == RT9471_ICSTAT_CHGDONE){
val->intval = POWER_SUPPLY_STATUS_FULL;
} else {
val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
}
break;
case POWER_SUPPLY_PROP_CHARGE_TYPE:
@ -2249,11 +2254,15 @@ static int rt9471_charger_get_property(struct power_supply *psy,
val->intval = POWER_SUPPLY_CHARGE_TYPE_TRICKLE;
break;
case RT9471_ICSTAT_FASTCHG:
case RT9471_ICSTAT_IEOC:
case RT9471_ICSTAT_BGCHG:
val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
break;
case RT9471_ICSTAT_BGCHG:
case RT9471_ICSTAT_IEOC:
case RT9471_ICSTAT_SLEEP:
case RT9471_ICSTAT_VBUSRDY:
case RT9471_ICSTAT_CHGDONE:
case RT9471_ICSTAT_CHGFAULT:
case RT9471_ICSTAT_OTG:
val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
break;
default: