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@xxxxxxxxxxxx> 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@xxxxxxxxxxxx> > > Cc: Rob Herring <robh@xxxxxxxxxx> > > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > Cc: Maxime Ripard <mripard@xxxxxxxxxx> > > --- > > .../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@xxxxxxxxxxxx> > > + - Thierry Reding <thierry.reding@xxxxxxxxx> > > + > > +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@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