On Thu, 14 Mar 2024 at 11:37, Sumit Garg <sumit.garg@xxxxxxxxxx> wrote: > > On Thu, 14 Mar 2024 at 14:47, Sumit Garg <sumit.garg@xxxxxxxxxx> wrote: > > > > On Thu, 14 Mar 2024 at 14:00, Krzysztof Kozlowski > > <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > > > > > >>> + > > > >>> + compatible = "gpio-leds"; > > > >>> + #address-cells = <1>; > > > >>> + #size-cells = <0>; > > > >> > > > >> That's not a bus. > > > >> > > > >> It does not look like you tested the DTS against bindings. Please run > > > >> `make dtbs_check W=1` (see > > > >> Documentation/devicetree/bindings/writing-schema.rst or > > > >> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > > >> for instructions). > > > > > > > > I assumed earlier that W=1 is sufficient for DT schema checks but it > > > > > > W=1 as in make? No, it is not. It's flag changing the build process. > > > dtbs_check is separate target. > > > > > > > looks like those are two different entities. However, I added these > > > > address and size cells properties only to get rid of warnings reported > > > > by W=1, see below: > > > > > > > > $ make qcom/apq8016-schneider-hmibsc.dtb W=1 > > > > DTC arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dtb > > > > arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts:96.9-103.5: > > > > Warning (unit_address_vs_reg): /leds/led@5: node has a unit name, but > > > > no reg or ranges property > > > > arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts:105.9-112.5: > > > > Warning (unit_address_vs_reg): /leds/led@6: node has a unit name, but > > > > no reg or ranges property > > > > > > Wait, so you saw the warnings and ignored them? > > > > Sorry but you are ignoring what I am trying to say. > > > > > These are legitimate > > > warnings, although they don't give you full answer. > > > > > > > <snip> > > > > > > > > So it looks like W=1 is reporting false warnings and we should rather > > > > > > Warnings were true. > > > > > > > That's was my initial impression too and I fixed them via following diff: > > > > diff --git a/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts > > b/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts > > index 8f9cacf8de89..a366d3aff3c5 100644 > > --- a/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts > > +++ b/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dts > > @@ -92,8 +92,11 @@ leds { > > pinctrl-0 = <&pm8916_mpps_leds>; > > > > compatible = "gpio-leds"; > > + #address-cells = <1>; > > + #size-cells = <0>; > > > > led@5 { > > + reg = <5>; > > label = "apq8016-hmibsc:green:wlan"; > > function = LED_FUNCTION_WLAN; > > color = <LED_COLOR_ID_YELLOW>; > > @@ -103,6 +106,7 @@ led@5 { > > }; > > > > led@6 { > > + reg = <6>; > > label = "apq8016-hmibsc:yellow:bt"; > > function = LED_FUNCTION_BLUETOOTH; > > color = <LED_COLOR_ID_BLUE>; > > > > But it then broke dtbs_check. > > See following breakage afterwards: > > $ make qcom/apq8016-schneider-hmibsc.dtb dtbs_check > <snip> > /home/sumit/build/upstream/linux/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dtb: > leds: led@5: Unevaluated properties are not allowed ('reg' was > unexpected) > from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml# > /home/sumit/build/upstream/linux/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dtb: > leds: led@6: Unevaluated properties are not allowed ('reg' was > unexpected) > from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml# > /home/sumit/build/upstream/linux/arch/arm64/boot/dts/qcom/apq8016-schneider-hmibsc.dtb: > leds: '#address-cells', '#size-cells' do not match any of the regexes: > '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+' > <snip> That's because there is no addressing for gpio-leds. Just use names as led-5, led-6. > > > Are you aware of any other saner way to > > fix those warnings properly? > > > > -Sumit > -- With best wishes Dmitry