Re: [PATCH v1 3/7] power: power_supply_core: Add *_battery_info fields for pre- and end-charge current

Sebastian Reichel
2017-03-24T09:07:43Z

[-- Attachment #1: Type: text/plain, Size: 2906 bytes --]

Hi,

On Tue, Mar 21, 2017 at 03:09:17PM -0700, Liam Breck wrote:
> From: Liam Breck <kernel@networkimprov.net>
>
> 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 <kernel@networkimprov.net>
> ---
> 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
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]