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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 16, 2019 at 10:29 AM Bartosz Golaszewski
<bgolaszewski@xxxxxxxxxxxx> wrote:
>
> śr., 16 paź 2019 o 15:51 Rob Herring <robh+dt@xxxxxxxxxx> napisał(a):
> >
> > On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> > >
> > > 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?
> >
> > 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




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux