[PATCH v1 3/3] dt-bindings: display: convert panel-dpi to DT schema

Sam Ravnborg sam at ravnborg.org
Sat Jan 25 19:39:05 UTC 2020


Hi Rob.

On Tue, Jan 21, 2020 at 08:50:25AM -0600, Rob Herring wrote:
> On Mon, Jan 20, 2020 at 2:07 PM Sam Ravnborg <sam at ravnborg.org> wrote:
> >
> > With panel-timing converted, now convert the single
> > remaining .txt user in panel/ of panel-timing to DT schema.
> >
> > Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
> > Cc: Rob Herring <robh at kernel.org>
> > Cc: Thierry Reding <thierry.reding at gmail.com>
> > Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > Cc: Maxime Ripard <mripard at kernel.org>
> > ---
> >  .../bindings/display/panel/panel-dpi.txt      | 50 -------------
> >  .../bindings/display/panel/panel-dpi.yaml     | 71 +++++++++++++++++++
> >  2 files changed, 71 insertions(+), 50 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.txt
> >  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> 
> [...]
> 
> > diff --git a/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> > new file mode 100644
> > index 000000000000..4e19c1fd52c3
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
> > @@ -0,0 +1,71 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/panel/panel-dpi.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Generic MIPI DPI Panel
> > +
> > +maintainers:
> > +  - Sam Ravnborg <sam at ravnborg.org>
> > +  - Thierry Reding <thierry.reding at gmail.com>
> > +
> > +allOf:
> > +  - $ref: panel-common.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    contains:
> > +      const: panel-dpi
> > +    description:
> > +      Shall contain "panel-dpi" in addition to a mandatory panel-specific
> > +      compatible string defined in individual panel bindings. The "panel-dpi"
> > +      value shall never be used on its own.
> 
> Yet we have 3 cases where it is...
> 
> A 'minItems: 2' should be enough to catch these. Or do:

The above was a verbatim copy from another binding.
Thinking more about this I went with this:

  compatible:
    contains:
      const: panel-dpi
    description:
      Shall contain "panel-dpi" in addition to an optional panel-specific
      compatible string defined in individual panel bindings.
      "panel-dpi" can be used alone, thus no dedicated binding file
      is required for each and every panel.

So a DT file with:
panel at 0 {
      compatible = "panel-dpi";
      ...
      panel-timing {
        ...
      };

Is in many cases enough - and then people do not have
to either cheat or wait until their panel is included in the kernel.
The panel market i big, and there are new panels each and every day.
With panel-dpi we can support the dumb panels that
do not require any special delays etc.

	Sam


More information about the dri-devel mailing list