summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/power/qcom-charger/qpnp-fg-gen3.c6
-rw-r--r--drivers/power/qcom-charger/smb-lib.c4
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;
}