On Wed, Oct 13, 2021 at 11:54:08PM +0900, Kunihiko Hayashi wrote: > In arch/arm/boot/dts/uniphier-pinctrl.dtsi, there are child nodes of > pinctrl that defines pinmux and pincfg, however, there are no rules about > that in dt-bindings. > > 'make dtbs_check' results an error with the following message: > > pinctrl: 'ain1', 'ain2', 'ainiec1', 'aout', 'aout1', 'aout2', ... > ... 'usb2', 'usb3' do not match any of the regexes: 'pinctrl-[0-9]+' > > To avoid this issue, add the rules of pinmux and pincfg in each child node > and grandchild node. > > Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx> > --- > .../pinctrl/socionext,uniphier-pinctrl.yaml | 46 +++++++++++++++++++++- > 1 file changed, 44 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml > index a804d9bc1602..4567330fe536 100644 > --- a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml > @@ -26,11 +26,53 @@ properties: > - socionext,uniphier-pxs3-pinctrl > - socionext,uniphier-nx1-pinctrl > > -required: > - - compatible > +patternProperties: > + "^.*$": > + if: > + type: object > + then: After coming up with this hack, I found a better way using additionalProperties: additionalProperties: type: object and then all this: > + allOf: > + - $ref: pincfg-node.yaml# > + - $ref: pinmux-node.yaml# > + > + properties: > + phandle: true > + function: true > + groups: true > + pins: true > + bias-pull-up: true > + bias-pull-down: true > + bias-pull-pin-default: true > + drive-strength: true > + > + patternProperties: > + "^.*$": > + if: > + type: object > + then: Same thing here. > + allOf: > + - $ref: pincfg-node.yaml# > + - $ref: pinmux-node.yaml# > + > + properties: > + phandle: true > + function: true > + groups: true > + pins: true > + bias-pull-up: true > + bias-pull-down: true > + bias-pull-pin-default: true > + drive-strength: true > + > + unevaluatedProperties: false > + > + unevaluatedProperties: false > > additionalProperties: false > > +required: > + - compatible > + > examples: > - | > // The UniPhier pinctrl should be a subnode of a "syscon" compatible node. > -- > 2.7.4 > >