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