All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
	Sam Ravnborg <sam@ravnborg.org>, David Airlie <airlied@gmail.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Konrad Dybcio <konrad.dybcio@linaro.org>
Subject: Re: [PATCH] dt-bindings: display: panel: add common definition of ports
Date: Thu, 20 Apr 2023 11:09:05 -0500	[thread overview]
Message-ID: <20230420160905.GA2952736-robh@kernel.org> (raw)
In-Reply-To: <77d94fe0-75d2-8f64-19c6-fc19438ba71a@linaro.org>

On Wed, Apr 19, 2023 at 10:56:55AM +0200, Krzysztof Kozlowski wrote:
> On 19/04/2023 00:26, Rob Herring wrote:
> > On Sun, Apr 16, 2023 at 05:39:29PM +0200, Krzysztof Kozlowski wrote:
> >> Few panel bindings for dual-link connections just type "ports: true",
> >> which does not enforce any type.  Add common definition of ports, so the
> >> type will be fixed.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >>
> >> ---
> >>
> >> Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
> >> ---
> >>  .../bindings/display/panel/panel-common.yaml     | 16 ++++++++++++++++
> >>  1 file changed, 16 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.yaml b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> index 5b38dc89cb21..ad62d34e6fa3 100644
> >> --- a/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> @@ -70,6 +70,16 @@ properties:
> >>    port:
> >>      $ref: /schemas/graph.yaml#/properties/port
> >>  
> >> +  # For dual-link connections
> >> +  ports:
> >> +    $ref: /schemas/graph.yaml#/properties/ports
> >> +    patternProperties:
> >> +      "^port@[0-9a-f]+$":
> >> +        $ref: /schemas/graph.yaml#/$defs/port-base
> > 
> > This allows any undocumented property.
> 
> Yes, which I hope the device schema (using this panel-common) will
> narrow with additionalProperties: false.
> 
> I can make it explicit: additionalProperties: true.
> 
> Otherwise, how do I allow custom properties like:
> Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
> 
> > 
> >> +
> >> +    required:
> >> +      - port@0
> >> +
> > 
> > I don't think this should be added here because users must define what 
> > each port is. With it here, we're going to validate the nodes twice as 
> > well. Same can be said for 'port' though. It can't be extended though.
> 
> So you propose to drop entire "ports" here and expect every panel schema
> to define it instead?

Only those with more than 1 port or extra port/endpoint properties. If 
neither of those are true, then they can use just 'port'. Otherwise, 
all those panel bindings already have to define the port nodes already.

Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
	Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	devicetree@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Subject: Re: [PATCH] dt-bindings: display: panel: add common definition of ports
Date: Thu, 20 Apr 2023 11:09:05 -0500	[thread overview]
Message-ID: <20230420160905.GA2952736-robh@kernel.org> (raw)
In-Reply-To: <77d94fe0-75d2-8f64-19c6-fc19438ba71a@linaro.org>

On Wed, Apr 19, 2023 at 10:56:55AM +0200, Krzysztof Kozlowski wrote:
> On 19/04/2023 00:26, Rob Herring wrote:
> > On Sun, Apr 16, 2023 at 05:39:29PM +0200, Krzysztof Kozlowski wrote:
> >> Few panel bindings for dual-link connections just type "ports: true",
> >> which does not enforce any type.  Add common definition of ports, so the
> >> type will be fixed.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >>
> >> ---
> >>
> >> Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
> >> ---
> >>  .../bindings/display/panel/panel-common.yaml     | 16 ++++++++++++++++
> >>  1 file changed, 16 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.yaml b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> index 5b38dc89cb21..ad62d34e6fa3 100644
> >> --- a/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >> @@ -70,6 +70,16 @@ properties:
> >>    port:
> >>      $ref: /schemas/graph.yaml#/properties/port
> >>  
> >> +  # For dual-link connections
> >> +  ports:
> >> +    $ref: /schemas/graph.yaml#/properties/ports
> >> +    patternProperties:
> >> +      "^port@[0-9a-f]+$":
> >> +        $ref: /schemas/graph.yaml#/$defs/port-base
> > 
> > This allows any undocumented property.
> 
> Yes, which I hope the device schema (using this panel-common) will
> narrow with additionalProperties: false.
> 
> I can make it explicit: additionalProperties: true.
> 
> Otherwise, how do I allow custom properties like:
> Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
> 
> > 
> >> +
> >> +    required:
> >> +      - port@0
> >> +
> > 
> > I don't think this should be added here because users must define what 
> > each port is. With it here, we're going to validate the nodes twice as 
> > well. Same can be said for 'port' though. It can't be extended though.
> 
> So you propose to drop entire "ports" here and expect every panel schema
> to define it instead?

Only those with more than 1 port or extra port/endpoint properties. If 
neither of those are true, then they can use just 'port'. Otherwise, 
all those panel bindings already have to define the port nodes already.

Rob

  reply	other threads:[~2023-04-20 16:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-16 15:39 [PATCH] dt-bindings: display: panel: add common definition of ports Krzysztof Kozlowski
2023-04-16 15:39 ` Krzysztof Kozlowski
2023-04-17  7:20 ` Konrad Dybcio
2023-04-17  7:24 ` Neil Armstrong
2023-04-18 22:26 ` Rob Herring
2023-04-18 22:26   ` Rob Herring
2023-04-19  8:56   ` Krzysztof Kozlowski
2023-04-19  8:56     ` Krzysztof Kozlowski
2023-04-20 16:09     ` Rob Herring [this message]
2023-04-20 16:09       ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230420160905.GA2952736-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=airlied@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=sam@ravnborg.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.