Thread (8 messages) 8 messages, 2 authors, 2019-01-24

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.yaml
Awesome. 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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help