Message ID | cover.1542185618.git.baolin.wang@linaro.org |
---|---|
Headers | show |
Series | Add new features for SC27XX fuel gauge driver | expand |
Hi! > Our charger manager can optimize the battery capacity periodically, so > we can save last battery capacity into registers. Then next system > power-on, we can read the last saved battery capacity as the initial > battery capacity, which can make the battery capacity more accurate. > > Signed-off-by: Yuanjiang Yu <yuanjiang.yu@unisoc.com> > Signed-off-by: Baolin Wang <baolin.wang@linaro.org> > --- > drivers/power/supply/sc27xx_fuel_gauge.c | 143 +++++++++++++++++++++++++++++- > 1 file changed, 142 insertions(+), 1 deletion(-) > > +static int sc27xx_fgu_set_property(struct power_supply *psy, > + enum power_supply_property psp, > + const union power_supply_propval *val) > +{ > + struct sc27xx_fgu_data *data = power_supply_get_drvdata(psy); > + int ret; > + > + mutex_lock(&data->lock); > + > + switch (psp) { > + case POWER_SUPPLY_PROP_CAPACITY: > + ret = sc27xx_fgu_save_last_cap(data, val->intval); > + if (ret < 0) > + dev_err(data->dev, "failed to save battery capacity\n"); > + break; > + > + default: > + ret = -EINVAL; > + } > + > + mutex_unlock(&data->lock); > + return ret; if (psp != ....) return -EINVAL; And you can do that outside lock... Ok, OTOH this is easier to extend in future. Do you expect more writable properties? > +static int sc27xx_fgu_property_is_writeable(struct power_supply *psy, > + enum power_supply_property psp) > +{ > + switch (psp) { > + case POWER_SUPPLY_PROP_CAPACITY: > + return 1; > + > + default: > + return 0; > + } > +} Same here. return psp == POWER_SUPPLY_PROP_CAPACITY; really looks strange written like this. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
On Wed, 14 Nov 2018 17:07:04 +0800, Baolin Wang wrote: > Add nvmem properties to calibrate FGU from eFuse controller. > > Signed-off-by: Baolin Wang <baolin.wang@linaro.org> > --- > .../devicetree/bindings/power/supply/sc27xx-fg.txt | 4 ++++ > 1 file changed, 4 insertions(+) > Reviewed-by: Rob Herring <robh@kernel.org>
Hi, On Wed, Nov 14, 2018 at 05:07:03PM +0800, Baolin Wang wrote: > This patch set adds some new features for SC27XX fuel gauge driver. > > 1. Read calibration data from eFuse device to calibrate fuel gauge. > 2. Add low voltage alarm to adjust the battery capacity in lower > voltage stage. > 3. Add power management interfaces > 4. Save last optimized battery capacity to be used as the initial > battery capacity if system is not first power-on. > > Baolin Wang (2): > dt-bindings: power: supply: Add nvmem properties to calibrate FGU > power: supply: sc27xx: Add fuel gauge calibration > > Yuanjiang Yu (3): > power: supply: sc27xx: Add fuel gauge low voltage alarm > power: supply: sc27xx: Add suspend/resume interfaces > power: supply: sc27xx: Save last battery capacity > > .../devicetree/bindings/power/supply/sc27xx-fg.txt | 4 + > drivers/power/supply/sc27xx_fuel_gauge.c | 453 +++++++++++++++++++- > 2 files changed, 444 insertions(+), 13 deletions(-) I applied patches 1-4 and skipped patch 5 due to pending changes. -- Sebastian
Hi Sebastian, On Thu, 6 Dec 2018 at 08:10, Sebastian Reichel <sebastian.reichel@collabora.com> wrote: > > Hi, > > On Wed, Nov 14, 2018 at 05:07:03PM +0800, Baolin Wang wrote: > > This patch set adds some new features for SC27XX fuel gauge driver. > > > > 1. Read calibration data from eFuse device to calibrate fuel gauge. > > 2. Add low voltage alarm to adjust the battery capacity in lower > > voltage stage. > > 3. Add power management interfaces > > 4. Save last optimized battery capacity to be used as the initial > > battery capacity if system is not first power-on. > > > > Baolin Wang (2): > > dt-bindings: power: supply: Add nvmem properties to calibrate FGU > > power: supply: sc27xx: Add fuel gauge calibration > > > > Yuanjiang Yu (3): > > power: supply: sc27xx: Add fuel gauge low voltage alarm > > power: supply: sc27xx: Add suspend/resume interfaces > > power: supply: sc27xx: Save last battery capacity > > > > .../devicetree/bindings/power/supply/sc27xx-fg.txt | 4 + > > drivers/power/supply/sc27xx_fuel_gauge.c | 453 +++++++++++++++++++- > > 2 files changed, 444 insertions(+), 13 deletions(-) > > I applied patches 1-4 and skipped patch 5 due to pending changes. I will send new version with addressing comments in patch 5. Thanks. -- Baolin Wang Best Regards