On Sat, Feb 17, 2024 at 2:27 AM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > On 15/02/2024 00:32, Saravana Kannan wrote: > > > > Good point. Done. > > > >>> + # One or more suppliers can be marked as post initialization supplier > >>> + description: > >>> + List of phandles to suppliers that are not needed for initializing or > >>> + resuming this device. > >>> + $ref: /schemas/types.yaml#/definitions/phandle-array > >>> + items: > >>> + maxItems: 1 > >> > >> Rob's bot rightfully complains here about invalid syntax. > > > > I added these two lines based on Rob's feedback. Is the indentation > > that's wrong? > > > > Yeah, I'm trying to run the dts checker, but I haven't be able to get > > it to work on my end. See my email to Rob on the v1 series about this. > > > > $ make DT_CHECKER_FLAGS=-m dt_binding_check > > > > The best I could get out of it is a bunch of error reports on other > > files and then: > > ... > > <snip>/Documentation/devicetree/bindings/post-init-suppliers.yaml: > > ignoring, error parsing file > > ... > > > > I also tried to use DT_SCHEMA_FILES so I can only test this one file, > > but that wasn't working either: > > I see the errors immediately during testing, no special arguments needed: > > crosc64_dt_binding_check post-init-supplier.yaml > make[1]: Entering directory '/home/krzk/dev/linux/linux/out' > LINT Documentation/devicetree/bindings > DTEX Documentation/devicetree/bindings/post-init-supplier.example.dts > ../Documentation/devicetree/bindings/post-init-supplier.yaml:84:12: > [error] syntax error: mapping values are not allowed here (syntax) > CHKDT Documentation/devicetree/bindings/processed-schema.json > ../Documentation/devicetree/bindings/post-init-supplier.yaml:84:12: > mapping values are not allowed in this context > make[3]: *** [../Documentation/devicetree/bindings/Makefile:26: > Documentation/devicetree/bindings/post-init-supplier.example.dts] Error 1 > make[3]: *** Deleting file > 'Documentation/devicetree/bindings/post-init-supplier.example.dts' > make[3]: *** Waiting for unfinished jobs.... > ../Documentation/devicetree/bindings/post-init-supplier.yaml:84:12: > mapping values are not allowed in this context > SCHEMA Documentation/devicetree/bindings/processed-schema.json > /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/post-init-supplier.yaml: > ignoring, error parsing file > make[2]: *** [/home/krzk/dev/linux/linux/Makefile:1424: > dt_binding_check] Error 2 > make[1]: *** [/home/krzk/dev/linux/linux/Makefile:240: __sub-make] Error 2 > make[1]: Leaving directory '/home/krzk/dev/linux/linux/out' > make: *** [Makefile:240: __sub-make] Error 2 I think I was just getting overwhelmed with the sea of error logs I saw (for unrelated files). If I don't use the flags it's way too noisy and it's not always the first thing that's reported. This is what I see now and I think I now understand what to look for. $ make DT_CHECKER_FLAGS=-m dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/post-init-suppliers.yaml LINT Documentation/devicetree/bindings ./Documentation/devicetree/bindings/post-init-suppliers.yaml:84:12: [error] syntax error: mapping values are not allowed here (syntax) CHKDT Documentation/devicetree/bindings/processed-schema.json ./Documentation/devicetree/bindings/post-init-suppliers.yaml:84:12: mapping values are not allowed in this context SCHEMA Documentation/devicetree/bindings/processed-schema.json /mnt/android/linus-tree/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml: ignoring, error in schema: properties /mnt/android/linus-tree/Documentation/devicetree/bindings/post-init-suppliers.yaml: ignoring, error parsing file /mnt/android/linus-tree/Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml: ignoring, error in schema: allOf: 0: then: properties: pinmux /mnt/android/linus-tree/Documentation/devicetree/bindings/net/lantiq,pef2256.yaml: ignoring, error in schema: properties: lantiq,data-rate-bps /mnt/android/linus-tree/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml: ignoring, error in schema: properties: honeywell,pmin-pascal /mnt/android/linus-tree/Documentation/devicetree/bindings/iio/pressure/honeywell,hsc030pa.yaml: ignoring, error in schema: properties: honeywell,pmax-pascal DTEX Documentation/devicetree/bindings/post-init-suppliers.example.dts Documentation/devicetree/bindings/post-init-suppliers.yaml:84:12: mapping values are not allowed in this context make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/post-init-suppliers.example.dts] Error 1 make[2]: *** Deleting file 'Documentation/devicetree/bindings/post-init-suppliers.example.dts' make[1]: *** [/mnt/android/linus-tree/Makefile:1432: dt_binding_check] Error 2 make: *** [Makefile:240: __sub-make] Error 2 > > > https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > I assume you develop on some older trees, because both next and v6.8-rc1 > work... or standard issues: old dtschema, old yamllint. > > I am afraid you do it for some old Android kernel... :( No, I always develop on Linus's tree and test it on an android kernel that's behind Linus's tree by a month or so. My yamllint version is 1.32.0, but until 2 weeks ago the latest yamllint version was 1.33.0. And dt-schema is 2022.08.2-5 and I had to revert this from Linus's tree to get it to work: b32dcf23a03e dt-bindings: Drop kernel copy of common reserved-memory bindings Unfortunately, AFAIK, I don't have permissions to change the package repo, so can't really install a newer version. Thanks for the tips. -Saravana -Saravana