Message ID | 33dba0929575461e38c2e17ac0cc4a8a4e46fa2f.1581658633.git.baolin.wang7@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | power: supply: sc27xx: Add POWER_SUPPLY_PROP_CHARGE_NOW attribute | expand |
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 >
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 = {
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(+)