2020-02-14 05:40:27

by Baolin Wang

[permalink] [raw]
Subject: [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute

Add the POWER_SUPPLY_PROP_CHARGE_NOW attribute to allow user to get
current battery capacity (uAh) to do measurement.

Signed-off-by: Baolin Wang <[email protected]>
---
drivers/power/supply/sc27xx_fuel_gauge.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/power/supply/sc27xx_fuel_gauge.c b/drivers/power/supply/sc27xx_fuel_gauge.c
index 469c83f..a7c8a84 100644
--- a/drivers/power/supply/sc27xx_fuel_gauge.c
+++ b/drivers/power/supply/sc27xx_fuel_gauge.c
@@ -614,6 +614,17 @@ static int sc27xx_fgu_get_property(struct power_supply *psy,
val->intval = data->total_cap * 1000;
break;

+ case POWER_SUPPLY_PROP_CHARGE_NOW:
+ ret = sc27xx_fgu_get_clbcnt(data, &value);
+ if (ret)
+ goto error;
+
+ value = DIV_ROUND_CLOSEST(value * 10,
+ 36 * SC27XX_FGU_SAMPLE_HZ);
+ val->intval = sc27xx_fgu_adc_to_current(data, value);
+
+ break;
+
default:
ret = -EINVAL;
break;
@@ -682,6 +693,7 @@ static int sc27xx_fgu_property_is_writeable(struct power_supply *psy,
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
POWER_SUPPLY_PROP_CALIBRATE,
+ POWER_SUPPLY_PROP_CHARGE_NOW
};

static const struct power_supply_desc sc27xx_fgu_desc = {
--
1.7.9.5


2020-03-08 03:24:52

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute

Hi,

On Fri, Feb 14, 2020 at 01:38:58PM +0800, Baolin Wang wrote:
> Add the POWER_SUPPLY_PROP_CHARGE_NOW attribute to allow user to get
> current battery capacity (uAh) to do measurement.
>
> Signed-off-by: Baolin Wang <[email protected]>
> ---

Thanks, queued to power-supply's for-next branch.

-- Sebastian

> drivers/power/supply/sc27xx_fuel_gauge.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/power/supply/sc27xx_fuel_gauge.c b/drivers/power/supply/sc27xx_fuel_gauge.c
> index 469c83f..a7c8a84 100644
> --- a/drivers/power/supply/sc27xx_fuel_gauge.c
> +++ b/drivers/power/supply/sc27xx_fuel_gauge.c
> @@ -614,6 +614,17 @@ static int sc27xx_fgu_get_property(struct power_supply *psy,
> val->intval = data->total_cap * 1000;
> break;
>
> + case POWER_SUPPLY_PROP_CHARGE_NOW:
> + ret = sc27xx_fgu_get_clbcnt(data, &value);
> + if (ret)
> + goto error;
> +
> + value = DIV_ROUND_CLOSEST(value * 10,
> + 36 * SC27XX_FGU_SAMPLE_HZ);
> + val->intval = sc27xx_fgu_adc_to_current(data, value);
> +
> + break;
> +
> default:
> ret = -EINVAL;
> break;
> @@ -682,6 +693,7 @@ static int sc27xx_fgu_property_is_writeable(struct power_supply *psy,
> POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE,
> POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
> POWER_SUPPLY_PROP_CALIBRATE,
> + POWER_SUPPLY_PROP_CHARGE_NOW
> };
>
> static const struct power_supply_desc sc27xx_fgu_desc = {
> --
> 1.7.9.5
>


Attachments:
(No filename) (1.47 kB)
signature.asc (849.00 B)
Download all attachments