This adds the constant-charge-current property to the list of optional
properties for the battery.

The constant charge current is critical for batteries as they can't
handle all charge currents.

Signed-off-by: Quentin Schulz <quentin.sch...@free-electrons.com>
---
 drivers/power/supply/power_supply_core.c | 3 +++
 include/linux/power_supply.h             | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/power/supply/power_supply_core.c 
b/drivers/power/supply/power_supply_core.c
index 5019bdee0f0b..23887739c95c 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -508,6 +508,7 @@ int power_supply_get_battery_info(struct power_supply *psy,
        info->energy_full_design_uwh = -EINVAL;
        info->charge_full_design_uah = -EINVAL;
        info->voltage_min_design_uv  = -EINVAL;
+       info->constant_charge_current_max_ua  = -EINVAL;
 
        if (!psy->of_node) {
                dev_warn(&psy->dev, "%s currently only supports devicetree\n",
@@ -537,6 +538,8 @@ int power_supply_get_battery_info(struct power_supply *psy,
                             &info->charge_full_design_uah);
        of_property_read_u32(battery_np, "voltage-min-design-microvolt",
                             &info->voltage_min_design_uv);
+       of_property_read_u32(battery_np, "constant-charge-current-max-microamp",
+                            &info->constant_charge_current_max_ua);
 
        return 0;
 }
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index e84f1d31d987..6f9c28187caf 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -301,6 +301,7 @@ struct power_supply_battery_info {
        int energy_full_design_uwh;     /* microWatt-hours */
        int charge_full_design_uah;     /* microAmp-hours */
        int voltage_min_design_uv;      /* microVolts */
+       int constant_charge_current_max_ua;             /* microAmps */
 };
 
 extern struct atomic_notifier_head power_supply_notifier;
-- 
2.11.0

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to