Re: [PATCH v2 3/3] dt-bindings: thermal: Add yaml bindings for thermal zones

From: Rob Herring
Date: Mon Mar 23 2020 - 17:16:29 EST


On Mon, Mar 23, 2020 at 2:46 PM Amit Kucheria <amit.kucheria@xxxxxxxxxx> wrote:
>
> Hi Rob,
>
> Thanks for the review.
>
> On Wed, Mar 11, 2020 at 8:19 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> >
> > On Thu, Mar 05, 2020 at 06:26:43PM +0530, Amit Kucheria wrote:
> > > As part of moving the thermal bindings to YAML, split it up into 3
> > > bindings: thermal sensors, cooling devices and thermal zones.
> > >
> > > The thermal-zone binding is a software abstraction to capture the
> > > properties of each zone - how often they should be checked, the
> > > temperature thresholds (trips) at which mitigation actions need to be
> > > taken and the level of mitigation needed at those thresholds.

[...]

> > > + trips:
> > > + type: object
> > > + description:
> > > + This node describes a set of points in the temperature domain at
> > > + which the thermal framework needs to takes action. The actions to
> > > + be taken are defined in another node called cooling-maps.
> > > +
> > > + patternProperties:
> > > + "^[a-zA-Z][a-zA-Z0-9,+\\._]{0,63}$":
> >
> > Drop ',', '+', '.', and ideally '_'. Probably need to add '-'.
>
> Dropping underscore flags a lot of DTs in dtbs_check. Do you want me
> to go fix them or can we live with the underscore. Is there some
> document I should read on why underscore isn't desirable?

Just convention. dtc will warn (with W=2), but we probably should
document that better. Anyways, fine to leave '_' here.


> > > + /* ... */
> > > +
> > > + gpu-thermal-top {
> >
> > This one is not going to match (which should cause an error).
>
> Good catch. Unfortunately, this isn't getting caught. Nor is the
> 12-char limitation before -thermal in the thermal zone name. I can't
> figure out why.

That's because this schema has to be included by another schema which
matches on a parent node containing 'thermal-zones'. If
'thermal-zones' can be at the root node, then you should rework this
such that you have $nodename: {const: thermal-zones} as a top-level
property.

Rob