Thread (71 messages) 71 messages, 5 authors, 2019-11-14

Re: [PATCH 4/4] power: supply: max17040: Send uevent in SOC changes

From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2018-07-25 10:52:09
Also in: linux-pm, lkml

On 23 July 2018 at 06:08, Matheus Castello [off-list ref] wrote:
Add check for changes in state of charge from delayed work, so
in case of changes we call power_supply_changed to send an uevent.

power_supply_changed send an uevent for alert user space about
changes, is useful for example to user space apps made changes in
UI battery level or made other decisions.
Hi,

Too many "changes". How about:

Notify core through power_supply_changed() in case of changes in state
of charge. This is useful for user-space to efficiently update current
battery level.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

quoted hunk ↗ jump to hunk
Signed-off-by: Matheus Castello <matheus@castello.eng.br>
---
 drivers/power/supply/max17040_battery.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/drivers/power/supply/max17040_battery.c b/drivers/power/supply/max17040_battery.c
index 3efa52d32b44..72915ac9e13b 100644
--- a/drivers/power/supply/max17040_battery.c
+++ b/drivers/power/supply/max17040_battery.c
@@ -202,14 +202,22 @@ static void max17040_get_of_data(struct max17040_chip *chip)
 static void max17040_work(struct work_struct *work)
 {
        struct max17040_chip *chip;
+       u16 last_soc;

        chip = container_of(work, struct max17040_chip, work.work);

+       /* store SOC for check change */
+       last_soc = chip->soc;
+
        max17040_get_vcell(chip->client);
        max17040_get_soc(chip->client);
        max17040_get_online(chip->client);
        max17040_get_status(chip->client);

+       /* check changes and send uevent */
+       if (last_soc != chip->soc)
+               power_supply_changed(chip->battery);
+
        queue_delayed_work(system_power_efficient_wq, &chip->work,
                           MAX17040_DELAY);
 }
--
2.13.3

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help