[PATCH v2] dt-bindings: display: Use OF graph schema
Rob Herring
robh at kernel.org
Tue Nov 17 22:37:33 UTC 2020
On Tue, Nov 17, 2020 at 2:05 PM Rob Herring <robh at kernel.org> 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 at gmail.com>
> Cc: Sam Ravnborg <sam at ravnborg.org>
> Cc: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> Cc: Maxime Ripard <mripard at kernel.org>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Thomas Zimmermann <tzimmermann at suse.de>
> Signed-off-by: Rob Herring <robh at kernel.org>
> ---
> 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
More information about the dri-devel
mailing list