On Fri, Oct 1, 2021 at 3:22 AM Andreas Kemnade <andreas@xxxxxxxxxxxx> wrote: > > Hi, > > while doing some make dtbs_check cleanup I came across this message: > > /home/andi/kernel/linux/arch/arm/boot/dts/omap3-gta04a4.dt.yaml: serial@4806c000: 'gnss' does not match any of the regexes: 'pinctrl-[0-9]+' > From schema: /home/andi/kernel/linux/Documentation/devicetree/bindings/serial/8250_omap.yaml > > the corresponding snippet is this one: > > &uart2 { > pinctrl-names = "default"; > pinctrl-0 = <&uart2_pins>; > gnss: gnss { > compatible = "wi2wi,w2sg0004"; > pinctrl-names = "default"; > pinctrl-0 = <&gps_pins>; > sirf,onoff-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; > lna-supply = <&vsim>; > vcc-supply = <&ldo_3v3>; > }; > }; > > > I see a pattern for serdev objects in > Documentation/devicetree/bindings/serial/serial.yaml > > patternProperties: > ".*": > if: > type: object > then: > description: > Serial attached devices shall be a child node of the host UART device > the slave device is attached to. It is expected that the attached > device is the only child node of the UART device. The slave device node > name shall reflect the generic type of device for the node. > > > so I would say, everything is allowed. serial.yaml is referenced by > 8250_omap.yaml. So what is the problem here? 8250_omap.yaml probably has 'additionalProperties: false'. The problem with additionalProperties is it can't see into the $ref to serial.yaml. The fix is to use 'unevaluatedProperties' instead. Note that it currently is a nop, so don't expect to get any failures. Support for unevaluatedProperties was just released in jsonschema yesterday, so dtschema will support it very soon. Rob