On Tue, Nov 17, 2020 at 2:05 PM Rob Herring <robh@xxxxxxxxxx> wrote: > > Now that we have a graph schema, rework the display related schemas to use > it. Mostly this is adding a reference to graph.yaml and dropping duplicate > parts from schemas. > > In panel-common.yaml, 'ports' is dropped. Any binding using 'ports' > should be one with more than 1 port node, and the binding must define > what each port is. > > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > Cc: Maxime Ripard <mripard@xxxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > v2: > - Drop 'type: object' where we have a $ref > - Drop any common properties like 'reg', '#address-cells', "#size-cells', > 'remote-endpoint' I think this isn't going to work in regards to unevaluatedProperties. Consider this example: parent: $ref: schema.yaml#/parent # containing properties of 'child' properties: child: unevaluatedProperties: false The problem is at the 'child' instance level when 'unevaluatedProperties' is evaluated, it can't see the parent schema with the $ref. So any property in schema.yaml won't be taken into account. Instead, we have to do something like this: parent: $ref: schema.yaml#/parent properties: child: $ref: schema.yaml#/child unevaluatedProperties: false So we're going to need a $ref for every ports, port, and endpoint node. Or just allow extra properties. Rob