Re: [PATCH/RFC v2] dt-bindings: pinctrl: sh-pfc: Convert to json-schema

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

 



Hi Rob,

On Tue, Aug 18, 2020 at 9:10 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Tue, Aug 18, 2020 at 1:32 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> > On Fri, Aug 07, 2020 at 04:13:45PM +0200, Geert Uytterhoeven wrote:
> > > Convert the Renesas Pin Function Controller (PFC) Device Tree binding
> > > documentation to json-schema.
> > >
> > > Document missing properties.
> > > Drop deprecated and obsolete #gpio-range-cells property.
> > > Update the example to match reality.
> > > Drop consumer examples, as they do not belong here.
> > >
> > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> > > ---
> > > Still RFC, due to the FIXMEs near the enum descriptions.
> > > If I enable the enums checks, I get e.g.:
> > >
> > >     [[1800]] is not one of [1800, 3300]
> > >
> > > Note the double square brackets around 1800.
> > > The usual error message doesn't have them, e.g.:
> > >
> > >     2000 is not one of [1800, 3300]
> > >
> > > So this looks like a bug in the tooling?
> >
> > Yes, we only recently started supporting schemas under
> > 'additionalProperties', but failed to apply fixups.
> >
> > I have a fix I'm testing out. I'm bumping the version requirement in
> > 5.10, so I'll make sure it is there.
>
> Thanks, looking forward to it.

I can confirm this is fixed in v2020.08.1.

> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml
>
> > > +  interrupts-extended:
> >
> > Just use 'interrupts' here. 'interrupt-extended' is always magically
> > supported.
>
> Apparently not everywhere...
>
>     Documentation/devicetree/bindings/pinctrl/renesas,pfc.example.dt.yaml:
> pin-controller@e6050000: 'interrupts' is a required property

The existing fixup doesn't handle "required: interrupts"  if that is inside an
if/then/else block.

> > > +additionalProperties:
> > > +  anyOf:
> > > +    - type: object
> > > +      allOf:
> > > +        - $ref: pincfg-node.yaml#
> > > +        - $ref: pinmux-node.yaml#
> > > +
> > > +      description:
> > > +        Pin controller client devices use pin configuration subnodes (children
> > > +        and grandchildren) for desired pin configuration.
> > > +        Client device subnodes use below standard properties.
> > > +
> > > +      properties:
> > > +        phandle: true
> >
> > Once fixed, this won't be necessary.
>
> OK.

Seems to be still an issue in v2020.08.1?

> > > +        function: true
> > > +        groups: true
> > > +        pins: true
> > > +        bias-disable: true
> > > +        bias-pull-down: true
> > > +        bias-pull-up: true
> > > +        drive-strength:
> > > +          true # FIXME enum: [ 3, 6, 9, 12, 15, 18, 21, 24 ] # Superset of supported values
> > > +          # avb:pins_mdio:drive-strength: [[24]] is not one of [3, 6, 9, 12, 15, 18, 21, 24]
> > > +        power-source:
> > > +          true # FIXME enum: [ 1800, 3300 ]
> > > +          # sd0_uhs:power-source: [[1800]] is not one of [1800, 3300]
> > > +        gpio-hog: true
> > > +        gpios: true
> > > +        input: true
> > > +        output-high: true
> > > +        output-low: true
> > > +
> > > +      additionalProperties: false
> > > +
> > > +    - type: object
> > > +      properties:
> > > +        phandle: true
> >
> > For this one, you can just link it back to the first entry:
> >
> > - type: object
> >   additionalProperties:
> >     $ref: "#/additionalProperties/anyOf/0"
>
> Thanks, cool!

Works great!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux