Hi Dan, On Tue, Apr 02, 2019 at 08:44:22AM -0500, Dan Murphy wrote: > Also one other comment I noticed when reviewing the code that there is no definition to > which child led properties are optional and which are required? With the new YAML bindings, there is a separate toplevel 'required' tag in the schema. Here is a snippet from my last submission that illustrates this: properties: compatible: const: ti,lm3630a reg: maxItems: 1 ti,linear-mapping-mode: description: | Enable linear mapping mode. If disabled, then it will use exponential mapping mode in which the ramp up/down appears to have a more uniform transition to the human eye. type: boolean required: - compatible - reg So 'ti,linear-mapping-mode' is optional in this example. > > + led-sources: > > + description: | > > + List of device current outputs the LED is connected to. > > + allOf: > > + - $ref: /schemas/types.yaml#/definitions/uint32-array > > + - minItems: 1 > > + maxItems: 2 > > + items: > > + minimum: 0 > > + maximum: 1 > > + > > label and led-sources are already defined in the common.txt no need to redefine them here. We'll still need to define the led-sources and label in this binding with the new format even though it will also be in the LED common bindings. We won't have to put the common things like the description since that information will come from the common binding. We only need to specify the additional constraints like the min/max number of items and the min/max value for each item for this particular example. Brian