[$] Device-tree schemas
Device trees have become ubiquitous in recent years as a way ofdescribing the hardware layout of non-discoverable systems, such as manyARM-based devices. The device-tree bindings define how a particularpiece of hardware is described in a device tree. Drivers then implementthose bindings. The device-tree documentation shows how to use the bindings to describe systems: which properties are available and which valuesthey may have. In theory, the bindings, drivers and documentation should beconsistent with each other. In practice, they are often not consistent and,even when they are, using those bindings correctly in actual device treesis not a trivial task. As a result, developers havebeen considering formal validation for device-tree files for years.Recently, Rob Herring proposeda move to a more structured documentation format for device-tree bindingsusing JSON Schema to allow automatedvalidation.