Drew Fustini wrote: > On Mon, Jun 09, 2025 at 09:31:26AM -0500, Ira Weiny wrote: > > Dan Williams wrote: > > > [ add Ira ] > > > > > > Drew Fustini wrote: > > > > Convert the PMEM device tree binding from text to YAML. This will allow > > > > device trees with pmem-region nodes to pass dtbs_check. > > > > > > > > Acked-by: Conor Dooley <conor.doo...@microchip.com> > > > > Acked-by: Oliver O'Halloran <ooh...@gmail.com> > > > > Signed-off-by: Drew Fustini <d...@pdp7.com> > > > > --- > > > > Dan/Dave/Vishal: does it make sense for this pmem binding patch to go > > > > through the nvdimm tree? > > > > > > Ira has been handling nvdimm pull requests as of late. Oliver's ack is > > > sufficient for me. > > > > > > Acked-by: Dan Williams <dan.j.willi...@intel.com> > > > > > > @Ira do you have anything else pending? > > > > > > > I don't. I've never built the device tree make targets to test. > > > > The docs[1] say to run make dtbs_check but it is failing: > > > > $ make dtbs_check > > make[1]: *** No rule to make target 'dtbs_check'. Stop. > > make: *** [Makefile:248: __sub-make] Error 2 > > I believe this is because the ARCH is set to x86 and I don't believe > dtbs_check is valid for that. I work on riscv which does use device tree > so I use this command: > > make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- dtbs_check
Yea I'm not set up for a cross compile. > > > > > > > > dt_binding_check fails too. > > > > $ make dt_binding_check > > SCHEMA Documentation/devicetree/bindings/processed-schema.json > > Traceback (most recent call last): > > File "/usr/bin/dt-mk-schema", line 8, in <module> > > sys.exit(main()) > > ~~~~^^ > > File "/usr/lib/python3.13/site-packages/dtschema/mk_schema.py", line 28, > > in main > > schemas = dtschema.DTValidator(args.schemas).schemas > > ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ > > File "/usr/lib/python3.13/site-packages/dtschema/validator.py", line 373, > > in __init__ > > self.make_property_type_cache() > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ > > File "/usr/lib/python3.13/site-packages/dtschema/validator.py", line 460, > > in make_property_type_cache > > self.props, self.pat_props = get_prop_types(self.schemas) > > ~~~~~~~~~~~~~~^^^^^^^^^^^^^^ > > File "/usr/lib/python3.13/site-packages/dtschema/validator.py", line 194, > > in get_prop_types > > del props[r'^[a-z][a-z0-9\-]*$'] > > ~~~~~^^^^^^^^^^^^^^^^^^^^^^^ > > KeyError: '^[a-z][a-z0-9\\-]*$' > > make[2]: *** [Documentation/devicetree/bindings/Makefile:63: > > Documentation/devicetree/bindings/processed-schema.json] Error 1 > > make[2]: *** Deleting file > > 'Documentation/devicetree/bindings/processed-schema.json' > > make[1]: *** [/home/iweiny/dev/linux-nvdimm/Makefile:1522: > > dt_binding_schemas] Error 2 > > make: *** [Makefile:248: __sub-make] Error 2 > > > > How do I test this? > > dt_binding_check should work on x86. Maybe you don't have dtschema and > yamllint installed? > > You should be able to install with: > > pip3 install dtschema yamllint > > And run the binding check with: > > make dt_binding_check DT_SCHEMA_FILES=pmem-region.yaml > > You should see the following output: > > SCHEMA Documentation/devicetree/bindings/processed-schema.json > CHKDT ./Documentation/devicetree/bindings > LINT ./Documentation/devicetree/bindings > DTEX Documentation/devicetree/bindings/pmem/pmem-region.example.dts > DTC [C] Documentation/devicetree/bindings/pmem/pmem-region.example.dtb Thanks that worked! I'll get a PR set up, Ira