diff options
-rw-r--r-- | drivers/power/qcom-charger/qpnp-fg-gen3.c | 6 | ||||
-rw-r--r-- | drivers/power/qcom-charger/smb-lib.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/power/qcom-charger/qpnp-fg-gen3.c b/drivers/power/qcom-charger/qpnp-fg-gen3.c index e0b1d13ca8bf..7739952f3254 100644 --- a/drivers/power/qcom-charger/qpnp-fg-gen3.c +++ b/drivers/power/qcom-charger/qpnp-fg-gen3.c @@ -1408,6 +1408,9 @@ static irqreturn_t fg_delta_soc_irq_handler(int irq, void *data) if (chip->cyc_ctr.en) schedule_work(&chip->cycle_count_work); + if (is_charger_available(chip)) + power_supply_changed(chip->batt_psy); + fg_dbg(chip, FG_IRQ, "irq %d triggered\n", irq); return IRQ_HANDLED; } @@ -1416,6 +1419,9 @@ static irqreturn_t fg_empty_soc_irq_handler(int irq, void *data) { struct fg_chip *chip = data; + if (is_charger_available(chip)) + power_supply_changed(chip->batt_psy); + fg_dbg(chip, FG_IRQ, "irq %d triggered\n", irq); return IRQ_HANDLED; } diff --git a/drivers/power/qcom-charger/smb-lib.c b/drivers/power/qcom-charger/smb-lib.c index e0c961314398..11a0f3423932 100644 --- a/drivers/power/qcom-charger/smb-lib.c +++ b/drivers/power/qcom-charger/smb-lib.c @@ -1633,8 +1633,10 @@ irqreturn_t smblib_handle_chg_state_change(int irq, void *data) dev_err(chg->dev, "Couldn't get batt status type rc=%d\n", rc); return IRQ_HANDLED; } - if (pval.intval == POWER_SUPPLY_STATUS_FULL) + if (pval.intval == POWER_SUPPLY_STATUS_FULL) { + power_supply_changed(chg->batt_psy); vote(chg->pl_disable_votable, TAPER_END_VOTER, false, 0); + } return IRQ_HANDLED; } |