diff mbox series

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

Message ID 20191015162300.22024-2-brgl@bgdev.pl (mailing list archive)
State Superseded, archived
Headers show
Series dt-bindings: max77650: convert the device-tree bindings to yaml | expand

Commit Message

Bartosz Golaszewski Oct. 15, 2019, 4:22 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Convert the binding document for MAX77650 core MFD module to YAML.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 .../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

Comments

Rob Herring Oct. 15, 2019, 9:13 p.m. UTC | #1
On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Convert the binding document for MAX77650 core MFD module to YAML.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
>  .../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.

We do this for common files with lots of references. I don't think
that applies here.

> 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@baylibre.com>
> +
> +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.

No need for 'description' if there's only one entry and you have
nothing specific about this device.

> +    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'

*-names already has a type, so you can drop this.

> +    maxItems: 1
> +    description:
> +      Single string containing the name of the GPIO line.

You need to link all the child node schemas into here. Something like this:

onkey:
  $ref: ../input/max77650-onkey.yaml

> +
> +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>;
> +
> +        gpio-controller;
> +        #gpio-cells = <2>;
> +        gpio-line-names = "max77650-charger";

I'd prefer to see a complete example here rather than piecemeal
examples scattered.

Rob

> +    };
> --
> 2.23.0
>
Rob Herring Oct. 15, 2019, 9:17 p.m. UTC | #2
On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Convert the binding document for MAX77650 core MFD module to YAML.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
>  .../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@baylibre.com>
> +
> +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
Bartosz Golaszewski Oct. 16, 2019, 12:55 p.m. UTC | #3
wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a):
>
> On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Convert the binding document for MAX77650 core MFD module to YAML.
> >
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > ---
> >  .../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@baylibre.com>
> > +
> > +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
Rob Herring Oct. 16, 2019, 1:51 p.m. UTC | #4
On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a):
> >
> > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >
> > > Convert the binding document for MAX77650 core MFD module to YAML.
> > >
> > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > ---
> > >  .../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@baylibre.com>
> > > +
> > > +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?

I believe that's because dtc needs to be built with libyaml support.

Rob
Bartosz Golaszewski Oct. 16, 2019, 3:28 p.m. UTC | #5
śr., 16 paź 2019 o 15:51 Rob Herring <robh+dt@kernel.org> napisał(a):
>
> On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a):
> > >
> > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > >
> > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > >
> > > > Convert the binding document for MAX77650 core MFD module to YAML.
> > > >
> > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > > ---
> > > >  .../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@baylibre.com>
> > > > +
> > > > +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?
>
> I believe that's because dtc needs to be built with libyaml support.
>

Indeed, I didn't have the development package installed, but
surprisingly I didn't get the warning from scripts/dtc/Makefile about
that either.

Bart

> Rob
Rob Herring Oct. 16, 2019, 3:48 p.m. UTC | #6
On Wed, Oct 16, 2019 at 10:29 AM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
>
> śr., 16 paź 2019 o 15:51 Rob Herring <robh+dt@kernel.org> napisał(a):
> >
> > On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a):
> > > >
> > > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > > >
> > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > > >
> > > > > Convert the binding document for MAX77650 core MFD module to YAML.
> > > > >
> > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > > > ---
> > > > >  .../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@baylibre.com>
> > > > > +
> > > > > +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?
> >
> > I believe that's because dtc needs to be built with libyaml support.
> >
>
> Indeed, I didn't have the development package installed, but
> surprisingly I didn't get the warning from scripts/dtc/Makefile about
> that either.

That's because CHECK_DTBS only gets set for 'dtbs_check' and not
'dt_binding_check'. I'm testing whether I can add it. The issue is I
also want to enable 'dt_binding_check', but not 'dtbs_check' for
all{yes,mod}config. I guess I need 2 variables or some other approach.

Rob
diff mbox series

Patch

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@baylibre.com>
+
+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>;
+
+        gpio-controller;
+        #gpio-cells = <2>;
+        gpio-line-names = "max77650-charger";
+    };