Hi, On Tue, Mar 21, 2017 at 03:09:17PM -0700, Liam Breck wrote: > From: Liam Breck > > Battery chargers use precharge_current_ua and endcharge_current_ua > at the beginning and end of a charging cycle. These values are set > according to battery capacity. > > Depends-on: https://patchwork.kernel.org/patch/9633613/ > Signed-off-by: Liam Breck > --- > drivers/power/supply/power_supply_core.c | 6 ++++++ > include/linux/power_supply.h | 5 +++++ > 2 files changed, 11 insertions(+) > > diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c > index 61e20b1..17088c5 100644 > --- a/drivers/power/supply/power_supply_core.c > +++ b/drivers/power/supply/power_supply_core.c > @@ -498,6 +498,8 @@ 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->precharge_current_ua = -EINVAL; > + info->endcharge_current_ua = -EINVAL; > > if (!psy->of_node) { > dev_warn(&psy->dev, "%s currently only supports devicetree\n", > @@ -527,6 +529,10 @@ 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, "precharge-current-microamp", > + &info->precharge_current_ua); > + of_property_read_u32(battery_np, "endcharge-current-microamp", > + &info->endcharge_current_ua); > > return 0; > } > diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h > index e84f1d3..864214c 100644 > --- a/include/linux/power_supply.h > +++ b/include/linux/power_supply.h > @@ -152,6 +152,9 @@ enum power_supply_property { > POWER_SUPPLY_PROP_MODEL_NAME, > POWER_SUPPLY_PROP_MANUFACTURER, > POWER_SUPPLY_PROP_SERIAL_NUMBER, > +/* where to place these? inserting above causes sysfs errors */ > + POWER_SUPPLY_PROP_PRECHARGE_CURRENT, > + POWER_SUPPLY_PROP_ENDCHARGE_CURRENT, > }; Ack on adding standard property for charge current of pre & end phase. Please do this in its own patch. This requires modification of a few places, see for example the following commit adding CHARGE_CURRENT_MAX: 2815b786c3bb86fff97f1f6e2f0874903ff2339b > enum power_supply_type { > @@ -301,6 +304,8 @@ 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 precharge_current_ua; /* microAmps */ > + int endcharge_current_ua; /* microAmps */ > }; > > extern struct atomic_notifier_head power_supply_notifier; > -- > 2.9.3 >