summaryrefslogtreecommitdiff
path: root/drivers/power/qcom-charger/qpnp-fg-gen3.c
diff options
context:
space:
mode:
authorNicholas Troast <ntroast@codeaurora.org>2016-09-22 11:27:04 -0700
committerSubbaraman Narayanamurthy <subbaram@codeaurora.org>2016-09-30 12:27:33 -0700
commitd430da6679b923bd993a4f8c78204a7db242c8e9 (patch)
treee1e500ddd31e34893f786b53ac376ab6a86d2791 /drivers/power/qcom-charger/qpnp-fg-gen3.c
parent7885b7b06200e288a592328510c5090c9b0c1efd (diff)
qpnp-fg-gen3: smb-lib: notify userspace when SOC changes
Currently the SOC in userspace is not being updated with the latest SOC from the fuel gauge. Add power supply changed events when the delta SOC interrupt fires, empty SOC interrupt fires, or when the charging status changes to full. Change-Id: I4bbf404639a97dcc443c9ecc8391623e2fff13fd Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Diffstat (limited to 'drivers/power/qcom-charger/qpnp-fg-gen3.c')
-rw-r--r--drivers/power/qcom-charger/qpnp-fg-gen3.c6
1 files changed, 6 insertions, 0 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;
}