Re: [PATCH/RFC v2] dt-bindings: pinctrl: sh-pfc: Convert to json-schema
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2020-08-20 11:25:36
Also in:
linux-gpio, linux-renesas-soc
Hi Rob, On Tue, Aug 18, 2020 at 9:10 AM Geert Uytterhoeven [off-list ref] wrote:
On Tue, Aug 18, 2020 at 1:32 AM Rob Herring [off-list ref] wrote:quoted
On Fri, Aug 07, 2020 at 04:13:45PM +0200, Geert Uytterhoeven wrote:quoted
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@glider.be> --- 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.
quoted
quoted
--- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yamlquoted
quoted
+ 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.
quoted
quoted
+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: trueOnce fixed, this won't be necessary.OK.
Seems to be still an issue in v2020.08.1?
quoted
quoted
+ 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: trueFor 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@linux-m68k.org
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