dt-bindings: mfd: aspeed: Drop 'oneOf' for pinctrl node
Subsystems (4)
Rob Herring (Arm)
maintainerPATCH 1/1 dt-bindings: mfd: aspeed: Drop 'oneOf' for pinctrl node
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches.
All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately.
--- .../bindings/mfd/aspeed,ast2x00-scu.yaml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
Documentation/devicetree/bindings/mfd/aspeed,ast2x00-scu.yaml +12 -4
@@ -47,10 +47,18 @@ patternProperties: type: object '^pinctrl(@[0-9a-f]+)?$': - oneOf: - - $ref: /schemas/pinctrl/aspeed,ast2400-pinctrl.yaml - - $ref: /schemas/pinctrl/aspeed,ast2500-pinctrl.yaml - - $ref: /schemas/pinctrl/aspeed,ast2600-pinctrl.yaml + type: object + additionalProperties: true + properties: + compatible: + contains: + enum: + - aspeed,ast2400-pinctrl + - aspeed,ast2500-pinctrl + - aspeed,ast2600-pinctrl + + required: + - compatible '^interrupt-controller@[0-9a-f]+$': description: See Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2xxx-scu-ic.txt
Signature · 1 line
2.43.0
Andrew Jeffery
maintainerQuoted 9 lines · Rob Herring (Arm)
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches.
All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately.
Thanks, I think it improves the readability of intent in the binding as well.
To understand the impact better I grabbed the patch and diffed the output of make CHECK_DTBS=y aspeed/aspeed-ast2600-evb.dtb before and after applying it, but there was no significant difference in output. Should that not demonstrate the errors being cleaned up? If not, what should?
Andrew
Rob Herring
maintainerQuoted 12 lines · On Tue, Apr 30, 2024 at 7:40?PM Andrew Jeffery <[email protected]>…
Quoted 9 lines · Rob Herring (Arm)
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches.
All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately.
Quoted 8 lines
Thanks, I think it improves the readability of intent in the binding as well.
To understand the impact better I grabbed the patch and diffed the output of
make CHECK_DTBS=y aspeed/aspeed-ast2600-evb.dtbbefore and after applying it, but there was no significant difference in output. Should that not demonstrate the errors being cleaned up? If not, what should?
Try it on one of the new boards posted in the last 1-2 days. It showed up on my testing dtbs_check on patches. I didn't send a report because there was so much noise in it.
Rob
Quoted 23 lines · Rob Herring
Quoted 12 lines · On Tue, Apr 30, 2024 at 7:40?PM Andrew Jeffery <[email protected]>…
Quoted 9 lines · Rob Herring (Arm)
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches.
All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately.
Quoted 8 lines
Thanks, I think it improves the readability of intent in the binding as well.
To understand the impact better I grabbed the patch and diffed the output of
make CHECK_DTBS=y aspeed/aspeed-ast2600-evb.dtbbefore and after applying it, but there was no significant difference in output. Should that not demonstrate the errors being cleaned up? If not, what should?
Quoted 3 lines
Try it on one of the new boards posted in the last 1-2 days. It showed up on my testing
dtbs_checkon patches. I didn't send a report because there was so much noise in it.
I tried with aspeed/aspeed-bmc-ibm-blueridge.dtb and yeah, it does clean up a lot of barf. Nice. Thanks.
[1]: https://lore.kernel.org/lkml/20240429210131.373487-14-eajames at linux.ibm.com/
Re: (subset) [PATCH] dt-bindings: mfd: aspeed: Drop 'oneOf' for pinctrl node
In reply to Rob Herring (Arm)Quoted 11 lines · Rob Herring (Arm)
The use of 'oneOf' to include 1 of 3 possible child node schemas results in error messages containing the actual error message(s) for the correct SoC buried in the tons of error messages from the 2 schemas that don't apply. It also causes the pinctrl schema to be applied twice as it will be applied when the compatible matches.
All that's really needed in the parent schema is to ensure one of the possible compatible strings is present in the pinctrl node so that its schema will be applied separately.
[...]
Applied, thanks!
[1/1] dt-bindings: mfd: aspeed: Drop 'oneOf' for pinctrl node
commit: 8f553c27697bc5e11074e37dfc0def6e39e489b2
--
Lee Jones [???]