linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute
@ 2020-02-14  5:38 Baolin Wang
  2020-03-08  3:24 ` Sebastian Reichel
  0 siblings, 1 reply; 2+ messages in thread
From: Baolin Wang @ 2020-02-14  5:38 UTC (permalink / raw)
  To: sre; +Cc: linux-pm, linux-kernel, baolin.wang7, zhang.lyra, orsonzhai

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 <baolin.wang7@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute
  2020-02-14  5:38 [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute Baolin Wang
@ 2020-03-08  3:24 ` Sebastian Reichel
  0 siblings, 0 replies; 2+ messages in thread
From: Sebastian Reichel @ 2020-03-08  3:24 UTC (permalink / raw)
  To: Baolin Wang; +Cc: linux-pm, linux-kernel, zhang.lyra, orsonzhai

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

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 <baolin.wang7@gmail.com>
> ---

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
> 

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-03-08  3:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-14  5:38 [PATCH] power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute Baolin Wang
2020-03-08  3:24 ` Sebastian Reichel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).