Re: [RESEND v6 0/3] Add support for CellWise cw2015 fuel gauge

From: Sebastian Reichel
Date: Sun May 03 2020 - 11:49:00 EST


Hi,

On Tue, Apr 14, 2020 at 02:52:05PM +0200, Tobias Schramm wrote:
> This patchset adds support for the CellWise cw2015 fuel gauge.
>
> The CellWise cw2015 fuel gauge is a shuntless, single-cell Li-Ion fuel
> gauge. It is used in the pine64 Pinebook Pro laptop.
>
> This is just a resend of v6 to the linux-pm maintainers for merging.
>
> I've kept the cellwise,battery-profile property in the device tree. Its
> content describes characteristics of the battery built into a device. The
> exact format is unknown and not publicly documented. It is likely
> comprised of some key parameters of the battery (chemistry, voltages,
> design capacity) and parameters for tuning the internal state of charge
> approximation function.
> Since v2 CellWise has confirmed to me that the only way to obtain the
> profile blob is to mail them batteries for testing. Thus we will need to
> keep that property.

Thanks, queued.

> In general I'm not 100 % sure about my json-schema binding for the gauge.
> It is my first time ever writing a json-schema binding and I'm not sure
> whether properties like power-supplies or monitored-battery need to be
> added to a separate, common schema for power supplies or not.

Yes, they should be referenced, but at the time of your patch the
common power-supply properties and the battery bindings have not
yet been converted to YAML. The power-supplies property is now
described in Documentation/devicetree/bindings/power/supply/power-supply.yaml
and conversion of the simple-battery binding will hopefully happen
soon. Afterwards we can update the cw2015 binding accordingly.

-- Sebastian

> Best Regards,
>
> Tobias Schramm
>
> Changelog:
> v2:
> * Change subject to "Add support for CellWise cw2015 fuel gauge"
> * Rewrite bindings as json-schema
> * Use default power-supplies handling
> * Use regmap for register access
> * Use standard simple-battery node
> * Replace printk/pr_* by dev_{dbg,info,warn,err}
> * Use cancel_delayed_work_sync in remove
> * General code cleanup
> v3:
> * Incorporate review by Andy
> * Add cellwise vendor prefix
> * Rename cellwise,bat-config-info property to cellwise,battery-profile
> * Remove most state of charge post-processing
> * Use fwnode interface
> * General code cleanup
> * Lots of code style fixes
> v4:
> * Implement additional changes requested by Andy
> * Use fwnode inline wrappers
> * Clean up waiting for gauge
> * Minor code style fixes
> v5:
> * Clean up includes
> * Handle errors during device property parsing
> * Refactor device property parsing
> * Replace i2c->probe by i2c->probe_new
> * More code style fixes
> v6:
> * Fix bindings according to review by Rob
>
> Tobias Schramm (3):
> dt-bindings: Document cellwise vendor-prefix
> dt-bindings: power: supply: add cw2015_battery bindings
> power: supply: add CellWise cw2015 fuel gauge driver
>
> .../bindings/power/supply/cw2015_battery.yaml | 82 ++
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> MAINTAINERS | 6 +
> drivers/power/supply/Kconfig | 11 +
> drivers/power/supply/Makefile | 1 +
> drivers/power/supply/cw2015_battery.c | 749 ++++++++++++++++++
> 6 files changed, 851 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power/supply/cw2015_battery.yaml
> create mode 100644 drivers/power/supply/cw2015_battery.c
>
> --
> 2.26.0
>

Attachment: signature.asc
Description: PGP signature