[PATCH] dt-bindings: display: Use OF graph schema

Rob Herring robh at kernel.org
Tue Nov 17 13:21:37 UTC 2020


On Tue, Nov 17, 2020 at 3:43 AM Laurent Pinchart
<laurent.pinchart at ideasonboard.com> wrote:
>
> Hi Rob,
>
> Thank you for the patch.
>
> On Mon, Nov 16, 2020 at 07:37:03PM -0600, Rob Herring 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.
> >
> > 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>
> > ---
> > graph.yaml is in the dtschema repo, so this can go into drm-misc and
> > hopefully anything afterwards be fixed up to use graph.yaml.
> >
> >  .../allwinner,sun4i-a10-display-backend.yaml  | 14 +---
> >  .../allwinner,sun4i-a10-display-frontend.yaml | 16 +----
> >  .../display/allwinner,sun4i-a10-hdmi.yaml     | 16 +----
> >  .../display/allwinner,sun4i-a10-tcon.yaml     | 16 +----
> >  .../allwinner,sun4i-a10-tv-encoder.yaml       |  2 +-
> >  .../display/allwinner,sun6i-a31-drc.yaml      | 16 +----
> >  .../display/allwinner,sun6i-a31-mipi-dsi.yaml |  6 +-
> >  .../allwinner,sun8i-a83t-de2-mixer.yaml       | 16 +----
> >  .../display/allwinner,sun8i-a83t-dw-hdmi.yaml | 16 +----
> >  .../display/allwinner,sun8i-r40-tcon-top.yaml | 19 +-----
> >  .../display/allwinner,sun9i-a80-deu.yaml      | 16 +----
> >  .../bindings/display/brcm,bcm2835-dpi.yaml    |  7 +-
> >  .../display/bridge/analogix,anx7625.yaml      |  5 +-
> >  .../display/bridge/analogix,anx7814.yaml      | 18 +----
> >  .../bindings/display/bridge/anx6345.yaml      | 15 ++--
> >  .../display/bridge/cdns,mhdp8546.yaml         | 18 +----
> >  .../display/bridge/chrontel,ch7033.yaml       |  3 +
> >  .../display/bridge/intel,keembay-dsi.yaml     |  9 +--
> >  .../bindings/display/bridge/ite,it6505.yaml   |  2 +-
> >  .../display/bridge/lontium,lt9611.yaml        | 68 ++-----------------
> >  .../bindings/display/bridge/lvds-codec.yaml   | 15 +---
> >  .../bindings/display/bridge/nwl-dsi.yaml      | 17 +----
> >  .../bindings/display/bridge/ps8640.yaml       | 21 ++----
> >  .../bindings/display/bridge/renesas,lvds.yaml | 15 +---
> >  .../display/bridge/simple-bridge.yaml         | 15 +---
> >  .../display/bridge/snps,dw-mipi-dsi.yaml      |  5 +-
> >  .../display/bridge/thine,thc63lvd1024.yaml    | 16 +----
> >  .../bindings/display/bridge/ti,sn65dsi86.yaml | 27 +-------
> >  .../bindings/display/bridge/ti,tfp410.yaml    | 15 +---
> >  .../display/bridge/toshiba,tc358762.yaml      | 51 ++------------
> >  .../display/bridge/toshiba,tc358768.yaml      | 11 +--
> >  .../display/bridge/toshiba,tc358775.yaml      | 17 ++---
> >  .../connector/analog-tv-connector.yaml        |  1 +
> >  .../display/connector/dvi-connector.yaml      |  1 +
> >  .../display/connector/hdmi-connector.yaml     |  1 +
> >  .../display/connector/vga-connector.yaml      |  1 +
> >  .../bindings/display/imx/nxp,imx8mq-dcss.yaml |  2 +-
> >  .../bindings/display/ingenic,lcd.yaml         |  7 +-
> >  .../display/intel,keembay-display.yaml        |  2 +-
> >  .../display/panel/advantech,idk-2121wr.yaml   |  5 ++
> >  .../bindings/display/panel/panel-common.yaml  | 11 +--
> >  .../rockchip/rockchip,rk3066-hdmi.yaml        | 13 +---
> >  .../display/rockchip/rockchip-vop.yaml        |  5 +-
> >  .../bindings/display/st,stm32-dsi.yaml        | 13 ++--
> >  .../bindings/display/st,stm32-ltdc.yaml       |  7 +-
> >  .../bindings/display/ti/ti,am65x-dss.yaml     | 16 +----
> >  .../bindings/display/ti/ti,j721e-dss.yaml     | 18 +----
> >  .../bindings/display/ti/ti,k2g-dss.yaml       |  4 +-
> >  48 files changed, 121 insertions(+), 509 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml
> > index 86057d541065..7e8798b43c2a 100644
> > --- a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml
> > +++ b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml
> > @@ -85,17 +85,9 @@ properties:
> >
> >    ports:
> >      type: object
>
> Do we need to specify the type here (and in all the locations below),
> give that it's specified in /schemas/graph.yaml#/properties/ports ?

The metaschema enforces that we have 'type' if we have 'properties'
(except at the top level), so yes. Now that I think about it more,
maybe I can rework it such that we required at least 'type' or '$ref'
when we have 'properties'. Though that's not going to remove 'type'
for 'port at n' schemas.

[...]

> > diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.yaml b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> > index cd6dc5461721..5b38dc89cb21 100644
> > --- a/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> > @@ -68,16 +68,7 @@ properties:
> >
> >    # Connectivity
> >    port:
> > -    type: object
> > -
> > -  ports:
> > -    type: object
> > -    description:
> > -      Panels receive video data through one or multiple connections. While
> > -      the nature of those connections is specific to the panel type, the
> > -      connectivity is expressed in a standard fashion using ports as specified
> > -      in the device graph bindings defined in
> > -      Documentation/devicetree/bindings/graph.txt.
> > +    $ref: /schemas/graph.yaml#/properties/port
>
> This drops "ports", is it intentional ?

Yes, I forgot to note that in the commit. The reason is defining ports
here is not that useful. We don't want single port cases just randomly
picking whether they use port or ports. If you use 'ports' then you
need a schema defining each 'port'.

[...]

> > diff --git a/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
> > index 8f87b82c6695..74dd1ce46d00 100644
> > --- a/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
> > +++ b/Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml
> > @@ -55,9 +55,7 @@ properties:
> >
> >    port:
> >      type: object
> > -    description:
> > -      Port as described in Documentation/devicetree/bindings/graph.txt.
> > -      The DSS DPI output port node
>
> I think the second line of the description should be kept.

Yes.

Rob


More information about the dri-devel mailing list