diff options
author | Nicholas Troast <ntroast@codeaurora.org> | 2016-09-22 11:27:04 -0700 |
---|---|---|
committer | Subbaraman Narayanamurthy <subbaram@codeaurora.org> | 2016-09-30 12:27:33 -0700 |
commit | d430da6679b923bd993a4f8c78204a7db242c8e9 (patch) | |
tree | e1e500ddd31e34893f786b53ac376ab6a86d2791 /drivers/power/qcom-charger/qpnp-fg-gen3.c | |
parent | 7885b7b06200e288a592328510c5090c9b0c1efd (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.c | 6 |
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; } |