mbox series

[v3,0/2] power: supply: add support for MAX1720x standalone fuel

Message ID 20240615203352.164234-1-dima.fedrau@gmail.com
Headers show
Series power: supply: add support for MAX1720x standalone fuel | expand

Message

Dimitri Fedrau June 15, 2024, 8:33 p.m. UTC
Changes to max1721x_battery.c:
  - reading manufacturer, model name and serial number is only possible
    when SBS functions of the IC are enabled.(nNVCfg0.enSBS) Factory
    default is off. Manufacturer is "Maxim Integrated" and the model name
    can be derived by register MAX172XX_DEV_NAME. Serial number is not
    available anymore.
  - According to the datasheet MAX172XX_BAT_PRESENT is at BIT(3) not
    BIT(4). Furthermore the naming is misleading, when BIT(3) is set the
    battery is not present.
  - Removed DeviceName, ManufacturerName and SerialNumber from struct
    max17211_device_info

Changes in V2:
  - Changed E-Mail in Patch (2/2) Signed-Off

Changes in V3:
  - Changed E-Mail in Patch (2/2) Author
  - Sorry for the confusion

Dimitri Fedrau (2):
  dt-bindings: power: supply: add support for MAX17201/MAX17205 fuel
    gauge
  power: supply: add support for MAX1720x standalone fuel gauge

 .../bindings/power/supply/maxim,max1720x.yaml |  51 +++
 drivers/power/supply/Kconfig                  |  12 +
 drivers/power/supply/Makefile                 |   1 +
 drivers/power/supply/max1720x_battery.c       | 324 ++++++++++++++++++
 4 files changed, 388 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max1720x.yaml
 create mode 100644 drivers/power/supply/max1720x_battery.c

Comments

Krzysztof Kozlowski June 16, 2024, 7:27 a.m. UTC | #1
On 15/06/2024 22:33, Dimitri Fedrau wrote:
> Adding documentation for MAXIMs MAX17201/MAX17205 fuel gauge.
> 

Three patchsets within 30 minutes. No changelog et all.

Slow down (one posting per 24h) to give people chances to review. Then
provide changelog under --- and describe what happened.

> Signed-off-by: Dimitri Fedrau <dima.fedrau@gmail.com>
> ---
>  .../bindings/power/supply/maxim,max1720x.yaml | 51 +++++++++++++++++++
>  1 file changed, 51 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,max1720x.yaml
> 
> diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max1720x.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max1720x.yaml
> new file mode 100644
> index 000000000000..4414bc6f214f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/supply/maxim,max1720x.yaml
> @@ -0,0 +1,51 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/supply/maxim,max1720x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Maxim MAX1720x fuel gauge
> +
> +maintainers:
> +  - Dimitri Fedrau <dima.fedrau@gmail.com>
> +
> +properties:
> +  compatible:
> +    const: maxim,max1720x

Nope, this must be specific.

Filename follows compatible then.

> +
> +  reg:
> +    items:
> +      - description: ModelGauge m5 registers
> +      - description: Nonvolatile registers
> +
> +  reg-names:
> +    items:
> +      - const: m5
> +      - const: nvmem
> +
> +  interrupts:
> +    maxItems: 1

This is incomplete. Missing battery and probably more... Look how other
bindings are written.

> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    i2c {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      max17201@36 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation


> +        compatible = "maxim,max1720x";
> +        reg = <0x36>, <0xb>;
> +        reg-names = "m5", "nvmem";
> +        interrupt-parent = <&gpio0>;
> +        interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
> +        status = "okay";

Drop

Best regards,
Krzysztof
Dimitri Fedrau June 17, 2024, 12:59 p.m. UTC | #2
Am Sun, Jun 16, 2024 at 09:27:21AM +0200 schrieb Krzysztof Kozlowski:
> On 15/06/2024 22:33, Dimitri Fedrau wrote:
> > Adding documentation for MAXIMs MAX17201/MAX17205 fuel gauge.
> > 
> 
> Three patchsets within 30 minutes. No changelog et all.
>
Sorry, had to fix my mail address in the commit message. Changelog was
in the cover letter. Anyway, could have fixed that in a later version.

> Slow down (one posting per 24h) to give people chances to review. Then
> provide changelog under --- and describe what happened.
> 
[...]
> > +maintainers:
> > +  - Dimitri Fedrau <dima.fedrau@gmail.com>
> > +
> > +properties:
> > +      - description: ModelGauge m5 registers
> > +      - description: Nonvolatile registers
> > +
> > +  reg-names:
> > +    items:
> > +      - const: m5
> > +      - const: nvmem
> > +
> > +  interrupts:
> > +    maxItems: 1
> 
> This is incomplete. Missing battery and probably more... Look how other
> bindings are written.
> 
Some fuel gauges used monitored-battery and/or power-supplies others none
of them(mitsumi,mm8013.yaml). I'm not sure when to use them.

Best regards,
Dimitri Fedrau
Krzysztof Kozlowski June 17, 2024, 5:29 p.m. UTC | #3
On 17/06/2024 14:59, Dimitri Fedrau wrote:
> Am Sun, Jun 16, 2024 at 09:27:21AM +0200 schrieb Krzysztof Kozlowski:
>> On 15/06/2024 22:33, Dimitri Fedrau wrote:
>>> Adding documentation for MAXIMs MAX17201/MAX17205 fuel gauge.
>>>
>>
>> Three patchsets within 30 minutes. No changelog et all.
>>
> Sorry, had to fix my mail address in the commit message. Changelog was
> in the cover letter. Anyway, could have fixed that in a later version.

There was no cover letter attached to this patchset. If you do not send
cover letter to interested parties, then it does not count.

> 
>> Slow down (one posting per 24h) to give people chances to review. Then
>> provide changelog under --- and describe what happened.
>>
> [...]
>>> +maintainers:
>>> +  - Dimitri Fedrau <dima.fedrau@gmail.com>
>>> +
>>> +properties:
>>> +      - description: ModelGauge m5 registers
>>> +      - description: Nonvolatile registers
>>> +
>>> +  reg-names:
>>> +    items:
>>> +      - const: m5
>>> +      - const: nvmem
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>
>> This is incomplete. Missing battery and probably more... Look how other
>> bindings are written.
>>
> Some fuel gauges used monitored-battery and/or power-supplies others none
> of them(mitsumi,mm8013.yaml). I'm not sure when to use them.

Look at your hardware, datasheet if it is available. Then look at
monitored battery properties. If you see anything in common, then that's
a sign.

I did not get your driver changes, so I cannot help here. Kind of your call.

Best regards,
Krzysztof