linux-hwmon.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Sa, Nuno" <Nuno.Sa@analog.com>
To: "robh@kernel.org" <robh@kernel.org>
Cc: "linux@roeck-us.net" <linux@roeck-us.net>,
	"corbet@lwn.net" <corbet@lwn.net>,
	"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"jdelvare@suse.com" <jdelvare@suse.com>
Subject: Re: [PATCH 3/3] dt-bindings: iio: Add ltc2947 documentation
Date: Wed, 2 Oct 2019 15:09:12 +0000	[thread overview]
Message-ID: <a85b33d3cd24b4225e4be3a25221f9c56cdcca5c.camel@analog.com> (raw)
In-Reply-To: <20191002002331.GA17502@bogus>

On Wed, 2019-10-02 at 09:19 -0500, Rob Herring wrote:
> 
> On Tue, Sep 24, 2019 at 02:49:45PM +0200, Nuno Sá wrote:
> > Document the LTC2947 device devicetree bindings.
> > 
> > Signed-off-by: Nuno Sá <nuno.sa@analog.com>
> > ---
> >  .../bindings/hwmon/adi,ltc2947.yaml           | 101
> > ++++++++++++++++++
> >  MAINTAINERS                                   |   1 +
> >  2 files changed, 102 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
> > b/Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
> > new file mode 100644
> > index 000000000000..2ea0187421d4
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
> > @@ -0,0 +1,101 @@
> 
> Missing license. Please make new bindings (GPL-2.0-only OR BSD-2-
> Clause)

ack.

> > +%YAML 1.2
> > +---
> > +$id: 
> > http://devicetree.org/schemas/bindings/hwmon/adi,ltc2947.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Analog Devices LTC2947 high precision power and energy
> > monitor
> > +
> > +maintainers:
> > +  - Nuno Sá <nuno.sa@analog.com>
> > +
> > +description: |
> > +  Analog Devices LTC2947 high precision power and energy monitor
> > over SPI or I2C.
> > +
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2947.pdf
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - adi,ltc2947
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description:
> > +      The LTC2947 uses either a trimmed internal oscillator or an
> > external clock
> > +      as the time base for determining the integration period to
> > represent time,
> > +      charge and energy. When an external clock is used, this
> > property must be
> > +      set accordingly.
> > +    maxItems: 1
> > +
> > +  adi,accumulator-ctl-pol:
> > +    description:
> > +      This property controls the polarity of current that is
> > accumulated to
> > +      calculate charge and energy so that, they can be only
> > accumulated for
> > +      positive current for example. Since there are two sets of
> > registers for
> > +      the accumulated values, this entry can also have two items
> > which sets
> > +      energy1/charge1 and energy2/charger2 respectively. Check
> > table 12 of the
> > +      datasheet for more information on the supported options.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> > +      - enum: [0, 1, 2, 3]
> > +      - minItems: 2
> > +      - maxItems: 2
> > +    default: [0, 0]
> 
> This should be:
> 
> allOf:
>   - $ref: ...
> items:
>   enum: [0, 1, 2, 3]
>   default: 0
> minItems: 2
> maxItems: 2

I was expecting this already. When upstreaming another device, I
realized some errors with `make dt_binding_check` when evaluating the
example. Just for my understanding, is this also incorrect?

allOf:
  - $ref: /schemas/types.yaml#/definitions/uint32-array
  - minItems: 2
    maxItems: 2
    items:
      enum: [0, 1, 2, 3]
    default: 0

I used a similar pattern in another device that is also waiting for
review :).
> > +
> > +  adi,accumulation-deadband-microamp:
> > +    description:
> > +      This property controls the Accumulation Dead band which
> > allows to set the
> > +      level of current below which no accumulation takes place.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> > +      - maximum: 255
> 
> maximum should be at same indent as allOf. Or default should be at
> the 
> same level as maximum (under a single '-' list entry).

So it should be?

allOf:
  - $ref: /schemas/types.yaml#/definitions/uint32
  - maximum: 255
    default: 0

> > +    default: 0
> > +
> > +  adi,gpio-out-pol:
> > +    description:
> > +      This property controls the GPIO polarity. Setting it to one
> > makes the GPIO
> > +      active high, setting it to zero makets it active low. When
> > this property
> > +      is present, the GPIO is automatically configured as output
> > and set to
> > +      control a fan as a function of measured temperature.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> > +      - enum: [0, 1]
> > +    default: 0
> 
> Same here.
> 
> > +
> > +  adi,gpio-in-accum:
> > +    description:
> > +      When set, this property sets the GPIO as input. It is then
> > used to control
> > +      the accumulation of charge, energy and time. This function
> > can be
> > +      enabled/configured separately for each of the two sets of
> > accumulation
> > +      registers. Check table 13 of the datasheet for more
> > information on the
> > +      supported options. This property cannot be used together
> > with
> > +      adi,gpio-out-pol.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> > +      - enum: [0, 1, 2]
> > +      - minItems: 2
> > +      - maxItems: 2
> > +    default: [0, 0]
> 
> Similar here.
> 
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +
> > +examples:
> > +  - |
> > +    spi0 {
> 
> Just 'spi'

ack.

> > +           #address-cells = <1>;
> > +           #size-cells = <0>;
> > +
> > +           ltc2947_spi: ltc2947@0 {
> > +                   compatible = "adi,ltc2947";
> > +                   reg = <0>;
> > +                   /* accumulation takes place always for
> > energ1/charge1. */
> > +                   /* accumulation only on positive current for
> > energy2/charge2. */
> > +                   adi,accumulator-ctl-pol = <0 1>;
> > +           };
> > +    };
> > +...
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 889f38c1c930..820bdde2044b 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -9505,6 +9505,7 @@ F:	drivers/hwmon/ltc2947-core.c
> >  F:	drivers/hwmon/ltc2947-spi.c
> >  F:	drivers/hwmon/ltc2947-i2c.c
> >  F:	drivers/hwmon/ltc2947.h
> > +F:	Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
> >  
> >  LTC4306 I2C MULTIPLEXER DRIVER
> >  M:	Michael Hennerich <michael.hennerich@analog.com>
> > -- 
> > 2.23.0
> > 


  reply	other threads:[~2019-10-02 15:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-24 12:49 [PATCH 0/3] LTC2947 support Nuno Sá
2019-09-24 12:49 ` [PATCH 1/3] hwmon: Fix HWMON_P_MIN_ALARM mask Nuno Sá
2019-10-02 13:37   ` Guenter Roeck
2019-09-24 12:49 ` [PATCH 2/3] hwmon: Add support for ltc2947 Nuno Sá
2019-10-03  4:14   ` Guenter Roeck
2019-10-04  7:45     ` Sa, Nuno
2019-10-04 15:06       ` Guenter Roeck
2019-10-07 12:25         ` Sa, Nuno
2019-10-07 12:44           ` Guenter Roeck
2019-10-07 14:51             ` Sa, Nuno
2019-10-10  7:13               ` Sa, Nuno
2019-10-10 15:21                 ` Guenter Roeck
2019-10-11  6:59                   ` Sa, Nuno
2019-09-24 12:49 ` [PATCH 3/3] dt-bindings: iio: Add ltc2947 documentation Nuno Sá
2019-10-02 14:19   ` Rob Herring
2019-10-02 15:09     ` Sa, Nuno [this message]
2019-10-02 19:06       ` Rob Herring
2019-10-04 14:58         ` Sa, Nuno
2019-10-04 15:23           ` Rob Herring
2019-10-08 14:20             ` Sa, Nuno
2019-09-26 10:17 ` [PATCH 0/3] LTC2947 support Sa, Nuno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a85b33d3cd24b4225e4be3a25221f9c56cdcca5c.camel@analog.com \
    --to=nuno.sa@analog.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=jdelvare@suse.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mark.rutland@arm.com \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).