On Tue, Mar 24, 2020 at 2:46 AM Rob Herring wrote: > > On Mon, Mar 23, 2020 at 2:46 PM Amit Kucheria wrote: > > > > Hi Rob, > > > > Thanks for the review. > > > > On Wed, Mar 11, 2020 at 8:19 PM Rob Herring 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. > [...] > > > > > + /* ... */ > > > > + > > > > + 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. I've done all the change requested in the review(see attached patch), including moving to properties: $nodename: const: thermal-zones but that generates a bunch of errors similar to: /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/zte.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/psci.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/sunxi.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/sprd/sprd.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/calxeda.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/ti/ti,davinci.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/spear.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected /home/amit/work/builds/build-aarch64/Documentation/devicetree/bindings/arm/ti/nspire.example.dt.yaml: /: $nodename:0: 'thermal-zones' was expected It seems like dtc is expecting every node to have a thermal-zones node? Looking at other root nodes such as cpus.yaml, the main difference I noticed was the absence of the "select: true" property. However, if I remove that, we go back to the schema not being applied. You mentioned that the thermal-zones schema needs to included by another schema. What did you mean by that? Regards, Amit