Re: [PATCH v2 1/6] dt-bindings: mfd: max77650: convert the binding document to yaml

From: Bartosz Golaszewski
Date: Wed Oct 16 2019 - 08:55:58 EST


wt., 15 paÅ 2019 o 23:17 Rob Herring <robh+dt@xxxxxxxxxx> napisaÅ(a):
>
> On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> >
> > Convert the binding document for MAX77650 core MFD module to YAML.
> >
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/mfd/max77650.txt | 47 +----------
> > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++
> > 2 files changed, 84 insertions(+), 46 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt
> > index b529d8d19335..080871686b3b 100644
> > --- a/Documentation/devicetree/bindings/mfd/max77650.txt
> > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt
> > @@ -1,46 +1 @@
> > -MAX77650 ultra low-power PMIC from Maxim Integrated.
> > -
> > -Required properties:
> > --------------------
> > -- compatible: Must be "maxim,max77650"
> > -- reg: I2C device address.
> > -- interrupts: The interrupt on the parent the controller is
> > - connected to.
> > -- interrupt-controller: Marks the device node as an interrupt controller.
> > -- #interrupt-cells: Must be <2>.
> > -
> > -- gpio-controller: Marks the device node as a gpio controller.
> > -- #gpio-cells: Must be <2>. The first cell is the pin number and
> > - the second cell is used to specify the gpio active
> > - state.
> > -
> > -Optional properties:
> > ---------------------
> > -gpio-line-names: Single string containing the name of the GPIO line.
> > -
> > -The GPIO-controller module is represented as part of the top-level PMIC
> > -node. The device exposes a single GPIO line.
> > -
> > -For device-tree bindings of other sub-modules (regulator, power supply,
> > -LEDs and onkey) refer to the binding documents under the respective
> > -sub-system directories.
> > -
> > -For more details on GPIO bindings, please refer to the generic GPIO DT
> > -binding document <devicetree/bindings/gpio/gpio.txt>.
> > -
> > -Example:
> > ---------
> > -
> > - pmic@48 {
> > - compatible = "maxim,max77650";
> > - reg = <0x48>;
> > -
> > - interrupt-controller;
> > - interrupt-parent = <&gpio2>;
> > - #interrupt-cells = <2>;
> > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> > -
> > - gpio-controller;
> > - #gpio-cells = <2>;
> > - gpio-line-names = "max77650-charger";
> > - };
> > +This file has been moved to max77650.yaml.
> > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml
> > new file mode 100644
> > index 000000000000..5186ad287ec7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml
> > @@ -0,0 +1,83 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mfd/max77650.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MAX77650 ultra low-power PMIC from Maxim Integrated.
> > +
> > +maintainers:
> > + - Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> > +
> > +description: |
> > + This document describes the DT properties of the core MFD controller.
> > +
> > + The GPIO-controller module is represented as part of the top-level PMIC
> > + node. The device exposes a single GPIO line.
> > +
> > + For device-tree bindings of other sub-modules (regulator, power supply,
> > + LEDs and onkey) refer to the binding documents under the respective
> > + sub-system directories.
> > +
> > + For more details on GPIO bindings, please refer to the generic GPIO DT
> > + binding document <devicetree/bindings/gpio/gpio.txt>.
> > +
> > +properties:
> > + compatible:
> > + const: maxim,max77650
> > +
> > + reg:
> > + description:
> > + I2C device address.
> > + maxItems: 1
> > +
> > + interrupts:
> > + description:
> > + The interrupt on the parent the controller is connected to.
> > + maxItems: 1
> > +
> > + interrupt-controller: true
> > +
> > + "#interrupt-cells":
> > + const: 2
> > + description:
> > + The first cell is the IRQ number, the second cell is the trigger type.
> > +
> > + gpio-controller: true
> > +
> > + "#gpio-cells":
> > + const: 2
> > + description:
> > + The first cell is the pin number and the second cell is used to specify
> > + the gpio active state.
> > +
> > + gpio-line-names:
> > + $ref: '/schemas/types.yaml#/definitions/string-array'
> > + maxItems: 1
> > + description:
> > + Single string containing the name of the GPIO line.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - interrupt-controller
> > + - "#interrupt-cells"
> > + - gpio-controller
> > + - "#gpio-cells"
> > +
> > +examples:
> > + - |
> > + pmic@48 {
> > + compatible = "maxim,max77650";
> > + reg = <0x48>;
> > +
> > + interrupt-controller;
> > + interrupt-parent = <&gpio2>;
> > + #interrupt-cells = <2>;
> > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>
> Examples are built now. Run 'make dt_binding_check' on bindings before
> sending them:
>
> Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30
> syntax error
> FATAL ERROR: Unable to parse input tree
> scripts/Makefile.lib:321: recipe for target
> 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml'
> failed
> make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml]
> Error 1
>
> You need to include any includes that you use.
>
> Rob

Hi Rob,

thanks for the review.

I'm on v5.4-rc3 and when running dt_binding_check, the error I'm
getting is this:

# make dt_binding_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/max77650.yaml
SCHEMA Documentation/devicetree/bindings/processed-schema.yaml
CHKDT Documentation/devicetree/bindings/mfd/max77650.yaml
make[1]: *** No rule to make target
'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml',
needed by '__build'. Stop.
make: *** [Makefile:1263: dt_binding_check] Error 2

Is this caused by the same issue or am I missing something?

Bartosz