On Tue, Nov 16, 2021 at 03:35:02PM +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. > > Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> > --- > .../display/panel/advantech,idk-1110wr.yaml | 17 ++++++++++- > .../display/panel/innolux,ee101ia-01d.yaml | 21 +++++++++++++- > .../bindings/display/panel/lvds.yaml | 29 +------------------ > .../display/panel/mitsubishi,aa104xd12.yaml | 17 ++++++++++- > .../display/panel/mitsubishi,aa121td01.yaml | 17 ++++++++++- > .../display/panel/sgd,gktw70sdae4se.yaml | 17 ++++++++++- > 6 files changed, 85 insertions(+), 33 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml b/Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml > index 93878c2cd370..f27cd2038636 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: panel-common.yaml# > - $ref: 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..6e06eecac14e 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: panel-common.yaml# > - $ref: 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/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml > index 49460c9dceea..5281a75c8bb5 100644 > --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml > +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml > @@ -4,7 +4,7 @@ > $id: http://devicetree.org/schemas/display/panel/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: |+ > Device compatible with those specifications have been marketed under the > FPD-Link and FlatLink brands. > > -allOf: > - - $ref: panel-common.yaml# > - I think you can leave this instead of adding everywhere you include lvds.yaml. Either way, Reviewed-by: Rob Herring <robh@xxxxxxxxxx>