Hi Maxime, Thank you for the patch. On Tue, Jan 11, 2022 at 12:06:34PM +0100, Maxime Ripard wrote: > The lvds.yaml file so far was both defining the generic LVDS properties > (such as data-mapping) that could be used for any LVDS sink, but also > the panel-lvds binding. > > That last binding was to describe LVDS panels simple enough, and had a > number of other bindings using it as a base to specialise it further. > > However, this situation makes it fairly hard to extend and reuse both > the generic parts, and the panel-lvds itself. > > Let's remove the panel-lvds parts and leave only the generic LVDS > properties. > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> > > --- > > Changes from v2: > - Fix references to that file > > Changes from v1: > - Moved the schema out of panel > --- > .../bindings/display/bridge/lvds-codec.yaml | 2 +- > .../bindings/display/{panel => }/lvds.yaml | 31 ++----------------- > .../display/panel/advantech,idk-1110wr.yaml | 19 ++++++++++-- > .../display/panel/innolux,ee101ia-01d.yaml | 23 ++++++++++++-- > .../display/panel/mitsubishi,aa104xd12.yaml | 19 ++++++++++-- > .../display/panel/mitsubishi,aa121td01.yaml | 19 ++++++++++-- > .../display/panel/sgd,gktw70sdae4se.yaml | 19 ++++++++++-- > MAINTAINERS | 2 +- > 8 files changed, 93 insertions(+), 41 deletions(-) > rename Documentation/devicetree/bindings/display/{panel => }/lvds.yaml (86%) > > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > index 5079c1cc337b..27b905b81b12 100644 > --- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > @@ -67,7 +67,7 @@ properties: > - vesa-24 > description: | > The color signals mapping order. See details in > - Documentation/devicetree/bindings/display/panel/lvds.yaml > + Documentation/devicetree/bindings/display/lvds.yaml > > port@1: > $ref: /schemas/graph.yaml#/properties/port > diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/lvds.yaml > similarity index 86% > rename from Documentation/devicetree/bindings/display/panel/lvds.yaml > rename to Documentation/devicetree/bindings/display/lvds.yaml > index 49460c9dceea..55751402fb13 100644 > --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml > +++ b/Documentation/devicetree/bindings/display/lvds.yaml > @@ -1,10 +1,10 @@ > # SPDX-License-Identifier: GPL-2.0 > %YAML 1.2 > --- > -$id: http://devicetree.org/schemas/display/panel/lvds.yaml# > +$id: http://devicetree.org/schemas/display/lvds.yaml# > $schema: http://devicetree.org/meta-schemas/core.yaml# > > -title: LVDS Display Panel > +title: LVDS Display Common Properties > > maintainers: > - Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > @@ -26,18 +26,7 @@ description: |+ The description mentions "This bindings supports display panels compatible with the following specifications". This needs a small update to avoid referring to panels. With this updated, Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Device compatible with those specifications have been marketed under the > FPD-Link and FlatLink brands. > > -allOf: > - - $ref: panel-common.yaml# > - > properties: > - compatible: > - contains: > - const: panel-lvds > - description: > - Shall contain "panel-lvds" in addition to a mandatory panel-specific > - compatible string defined in individual panel bindings. The "panel-lvds" > - value shall never be used on its own. > - > data-mapping: > enum: > - jeida-18 > @@ -96,22 +85,6 @@ properties: > If set, reverse the bit order described in the data mappings below on all > data lanes, transmitting bits for slots 6 to 0 instead of 0 to 6. > > - port: true > - ports: true > - > -required: > - - compatible > - - data-mapping > - - width-mm > - - height-mm > - - panel-timing > - > -oneOf: > - - required: > - - port > - - required: > - - ports > - > additionalProperties: true > > ... > diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml > index 93878c2cd370..3a8c2c11f9bd 100644 > --- a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml > +++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml > @@ -11,13 +11,23 @@ maintainers: > - Thierry Reding <thierry.reding@xxxxxxxxx> > > allOf: > - - $ref: lvds.yaml# > + - $ref: panel-common.yaml# > + - $ref: /schemas/display/lvds.yaml/# > + > +select: > + properties: > + compatible: > + contains: > + const: advantech,idk-1110wr > + > + required: > + - compatible > > properties: > compatible: > items: > - const: advantech,idk-1110wr > - - {} # panel-lvds, but not listed here to avoid false select > + - const: panel-lvds > > data-mapping: > const: jeida-24 > @@ -35,6 +45,11 @@ additionalProperties: false > > required: > - compatible > + - data-mapping > + - width-mm > + - height-mm > + - panel-timing > + - port > > examples: > - |+ > diff --git a/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml b/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml > index a69681e724cb..566e11f6bfc0 100644 > --- a/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml > +++ b/Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml > @@ -11,15 +11,26 @@ maintainers: > - Thierry Reding <thierry.reding@xxxxxxxxx> > > allOf: > - - $ref: lvds.yaml# > + - $ref: panel-common.yaml# > + - $ref: /schemas/display/lvds.yaml/# > + > +select: > + properties: > + compatible: > + contains: > + const: innolux,ee101ia-01d > + > + required: > + - compatible > > properties: > compatible: > items: > - const: innolux,ee101ia-01d > - - {} # panel-lvds, but not listed here to avoid false select > + - const: panel-lvds > > backlight: true > + data-mapping: true > enable-gpios: true > power-supply: true > width-mm: true > @@ -27,5 +38,13 @@ properties: > panel-timing: true > port: true > > +required: > + - compatible > + - data-mapping > + - width-mm > + - height-mm > + - panel-timing > + - port > + > additionalProperties: false > ... > diff --git a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml > index b5e7ee230fa6..5cf3c588f46d 100644 > --- a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml > +++ b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml > @@ -11,13 +11,23 @@ maintainers: > - Thierry Reding <thierry.reding@xxxxxxxxx> > > allOf: > - - $ref: lvds.yaml# > + - $ref: panel-common.yaml# > + - $ref: /schemas/display/lvds.yaml/# > + > +select: > + properties: > + compatible: > + contains: > + const: mitsubishi,aa104xd12 > + > + required: > + - compatible > > properties: > compatible: > items: > - const: mitsubishi,aa104xd12 > - - {} # panel-lvds, but not listed here to avoid false select > + - const: panel-lvds > > vcc-supply: > description: Reference to the regulator powering the panel VCC pins. > @@ -39,6 +49,11 @@ additionalProperties: false > required: > - compatible > - vcc-supply > + - data-mapping > + - width-mm > + - height-mm > + - panel-timing > + - port > > examples: > - |+ > diff --git a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml > index 977c50a85b67..54750cc5440d 100644 > --- a/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml > +++ b/Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml > @@ -11,13 +11,23 @@ maintainers: > - Thierry Reding <thierry.reding@xxxxxxxxx> > > allOf: > - - $ref: lvds.yaml# > + - $ref: panel-common.yaml# > + - $ref: /schemas/display/lvds.yaml/# > + > +select: > + properties: > + compatible: > + contains: > + const: mitsubishi,aa121td01 > + > + required: > + - compatible > > properties: > compatible: > items: > - const: mitsubishi,aa121td01 > - - {} # panel-lvds, but not listed here to avoid false select > + - const: panel-lvds > > vcc-supply: > description: Reference to the regulator powering the panel VCC pins. > @@ -39,6 +49,11 @@ additionalProperties: false > required: > - compatible > - vcc-supply > + - data-mapping > + - width-mm > + - height-mm > + - panel-timing > + - port > > examples: > - |+ > diff --git a/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml b/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml > index e63a570ae59d..44e02decdf3a 100644 > --- a/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml > +++ b/Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml > @@ -11,13 +11,23 @@ maintainers: > - Thierry Reding <thierry.reding@xxxxxxxxx> > > allOf: > - - $ref: lvds.yaml# > + - $ref: panel-common.yaml# > + - $ref: /schemas/display/lvds.yaml/# > + > +select: > + properties: > + compatible: > + contains: > + const: sgd,gktw70sdae4se > + > + required: > + - compatible > > properties: > compatible: > items: > - const: sgd,gktw70sdae4se > - - {} # panel-lvds, but not listed here to avoid false select > + - const: panel-lvds > > data-mapping: > const: jeida-18 > @@ -35,6 +45,11 @@ additionalProperties: false > > required: > - compatible > + - port > + - data-mapping > + - width-mm > + - height-mm > + - panel-timing > > examples: > - |+ > diff --git a/MAINTAINERS b/MAINTAINERS > index 41d2916600e0..368072da0a05 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -6079,7 +6079,7 @@ L: dri-devel@xxxxxxxxxxxxxxxxxxxxx > T: git git://anongit.freedesktop.org/drm/drm-misc > S: Maintained > F: drivers/gpu/drm/panel/panel-lvds.c > -F: Documentation/devicetree/bindings/display/panel/lvds.yaml > +F: Documentation/devicetree/bindings/display/lvds.yaml > > DRM DRIVER FOR MANTIX MLAF057WE51 PANELS > M: Guido Günther <agx@xxxxxxxxxxx> -- Regards, Laurent Pinchart