Re: [PATCH] dt-bindings: clock: Convert fixed-clock binding to json-schema
From: Rob Herring <robh@kernel.org>
Date: 2019-01-11 23:10:14
Also in:
linux-clk, lkml
On Fri, Jan 11, 2019 at 4:42 PM Stephen Boyd [off-list ref] wrote:
Quoting Rob Herring (2019-01-11 12:49:04)quoted
On Fri, Jan 11, 2019 at 12:54 PM Stephen Boyd [off-list ref] wrote:quoted
Quoting Rob Herring (2019-01-11 10:27:48)quoted
On Fri, Jan 11, 2019 at 11:44 AM Stephen Boyd [off-list ref] wrote:quoted
Any pointer to the full schema?https://github.com/robherring/yaml-bindings/blob/master/schemas/ And the clock schema in particular: https://github.com/robherring/yaml-bindings/blob/master/schemas/clock.yamlAwesome. Thanks for the pointers! Is the clock schema posted to the list somewhere?No. Happy to post things, but I'm struggling to find anyone that cares.Ok. I can review that document too if you post it to the list.quoted
quoted
quoted
quoted
Why does title have a full stop?Because it was there in the original. My script to extract just takes the first line of alphanumeric text.Ok. I think it would be good to treat them like commit subjects that don't have the full stop either, so if the script is able to drop the full stop it would be great.I can just write a meta-schema to enforce that. :)Sounds good.quoted
Yes, the meta-schema enforces this at least to the extent there is a meta-schema defined for a standard property. Even if not something for a specific property, we limit things to a subset of json-schema keywords. Also, you also can't define something contradicting a core schema (e.g. { reg: { type: string } }), but that wouldn't be found until you check actual DTs. The meta-schema check is run with: make dt_binding_check This is all documented in Documentation/devicetree/writing-schema.md.Ok I'll read that document now. Would be cool if the build robots (and myself) can somehow run the dt_binding_check on a single YAML file so we can quickly validate the binding. Maybe even make C=2 or C=1 do that? If the robots can then complain if the single file fails to build it will save us tons of time. I just tried to run it but it seems to only care about running on all the YAML files.
make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/file/to/test It will check only the schema specified and check all the DT files against only that schema (plus any referenced schema if you use a top-level 'allOf'. See the GIC schema patch[2] for an example of that). I'm running the schema check for patches in the DT patchwork instance. For example, here's this patch[1]. So as long as it has my R-by, then it should be good. I'm not yet running the schema check on DT files because generally there are warnings and I don't intend to fix them for everyone. But maybe I should anyways so we at least have the data. Rob [1] https://patchwork.ozlabs.org/patch/1023240/ [2] https://patchwork.ozlabs.org/patch/1023243/