power: supply: cw2015: Add CHARGE_NOW support
authorMartin Ashby <martin@ashbysoft.com>
Thu, 18 Feb 2021 12:42:50 +0000 (07:42 -0500)
committerSebastian Reichel <sre@kernel.org>
Sat, 6 Mar 2021 17:39:05 +0000 (18:39 +0100)
CHARGE_NOW is expected by some user software (such as waybar)
instead of 'CAPACITY', in order to correctly calculate remaining battery
life.

Signed-off-by: Martin Ashby <martin@ashbysoft.com>
Reviewed-by: Tobias Schramm <t.schramm@manjaro.org>
Tested-by: Tobias Schramm <t.schramm@manjaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/cw2015_battery.c

index 0146f1bfc29bb5b4ec1e61c2eb76b3255b525c6b..d110597746b0aadd78fa20da710eaa1127a65cfa 100644 (file)
@@ -511,6 +511,11 @@ static int cw_battery_get_property(struct power_supply *psy,
                        val->intval = 0;
                break;
 
+       case POWER_SUPPLY_PROP_CHARGE_NOW:
+               val->intval = cw_bat->battery.charge_full_design_uah;
+               val->intval = val->intval * cw_bat->soc / 100;
+               break;
+
        case POWER_SUPPLY_PROP_CURRENT_NOW:
                if (cw_battery_valid_time_to_empty(cw_bat) &&
                    cw_bat->battery.charge_full_design_uah > 0) {
@@ -542,6 +547,7 @@ static enum power_supply_property cw_battery_properties[] = {
        POWER_SUPPLY_PROP_CHARGE_COUNTER,
        POWER_SUPPLY_PROP_CHARGE_FULL,
        POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
+       POWER_SUPPLY_PROP_CHARGE_NOW,
        POWER_SUPPLY_PROP_CURRENT_NOW,
 };