]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
power: bq25890: implement CHARGE_TYPE property
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>
Mon, 4 May 2020 19:47:46 +0000 (21:47 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sun, 10 May 2020 21:42:51 +0000 (23:42 +0200)
Report charging type based on recently read state.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/bq25890_charger.c

index be9de68a3fc2fa1993e10e44ba86a219d5453cd2..6d8e0e2bfd8a0f4dfec71b5fa3c5e331ad38ff9b 100644 (file)
@@ -427,6 +427,18 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
 
                break;
 
+       case POWER_SUPPLY_PROP_CHARGE_TYPE:
+               if (!state.online || state.chrg_status == STATUS_NOT_CHARGING ||
+                   state.chrg_status == STATUS_TERMINATION_DONE)
+                       val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
+               else if (state.chrg_status == STATUS_PRE_CHARGING)
+                       val->intval = POWER_SUPPLY_CHARGE_TYPE_STANDARD;
+               else if (state.chrg_status == STATUS_FAST_CHARGING)
+                       val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
+               else /* unreachable */
+                       val->intval = POWER_SUPPLY_CHARGE_TYPE_UNKNOWN;
+               break;
+
        case POWER_SUPPLY_PROP_MANUFACTURER:
                val->strval = BQ25890_MANUFACTURER;
                break;
@@ -668,6 +680,7 @@ static const enum power_supply_property bq25890_power_supply_props[] = {
        POWER_SUPPLY_PROP_MANUFACTURER,
        POWER_SUPPLY_PROP_MODEL_NAME,
        POWER_SUPPLY_PROP_STATUS,
+       POWER_SUPPLY_PROP_CHARGE_TYPE,
        POWER_SUPPLY_PROP_ONLINE,
        POWER_SUPPLY_PROP_HEALTH,
        POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,