On Tue, Nov 17, 2020 at 2:05 PM Rob Herring <r...@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.red...@gmail.com>
> Cc: Sam Ravnborg <s...@ravnborg.org>
> Cc: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
> Cc: Maxime Ripard <mrip...@kernel.org>
> Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
> Cc: Thomas Zimmermann <tzimmerm...@suse.de>
> Signed-off-by: Rob Herring <r...@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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to