All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: do not reference whole usb-switch.yaml
Date: Wed, 1 Oct 2025 11:31:39 -0500	[thread overview]
Message-ID: <20251001163139.GA1877961-robh@kernel.org> (raw)
In-Reply-To: <nwtt76n4t7tlf26ex47wrot7g7nldtmavbzgwmluls3egamjsi@mkomopb6fjh6>

On Tue, Sep 30, 2025 at 10:10:25PM +0300, Dmitry Baryshkov wrote:
> On Fri, Sep 05, 2025 at 12:55:33PM -0500, Rob Herring wrote:
> > On Tue, Sep 02, 2025 at 06:10:05PM +0200, Neil Armstrong wrote:
> > > Both bindings describe a different layout of the ports properties,
> > > leading to errors when validating DT using this PHY bindings as
> > > reported by Rob Herring.
> > > 
> > > Reported-by: Rob Herring <robh@kernel.org>
> > > Closes: https://lore.kernel.org/all/175462129176.394940.16810637795278334342.robh@kernel.org/
> > > Fixes: 3bad7fe22796 ("dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch")
> > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> > > ---
> > >  .../devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    | 8 +++++---
> > >  1 file changed, 5 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > index c8bc512df08b5694c8599f475de78679a4438449..5005514d7c3a1e4a8893883497fd204bc04e12be 100644
> > > --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > @@ -73,8 +73,11 @@ properties:
> > >      description:
> > >        See include/dt-bindings/phy/phy-qcom-qmp.h
> > >  
> > > -  mode-switch: true
> > > -  orientation-switch: true
> > > +  mode-switch:
> > > +    $ref: /schemas/usb/usb-switch.yaml#properties/mode-switch
> > > +
> > > +  orientation-switch:
> > > +    $ref: /schemas/usb/usb-switch.yaml#properties/orientation-switch

Looking at this again, this isn't even correct and I don't think it 
works. It's missing a '/' and  should be ...#/properties/... to be a 
valid json pointer.

I thought we checked this...

> > 
> > This is a pattern we try to avoid with references at a property level. I 
> > prefer you make port and ports not required in usb-switch.yaml.
> 
> But this solution is also not perfect. E.g.
> Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml should
> only allow the orienttion-switch property, while using
> allOf:$ref:usb-switch.yaml allows all three (orientation-switch,
> mode-switch, retimer-switch).

That can be handled like this:

$ref: usb-switch.yaml
properties:
  orientation-switch: true
additionalProperties: false

Though if you need unevaluatedProperties for some other reason, then 
that won't enforce it and it's just documentation. In that case, then 
perhaps usb-switch.yaml is not the right granularity and should be split 
up.

I put this into the category of "this is the least of our problems". I'm 
not that interested in enforcing what common properties a device uses or 
not. It's undocumented properties I'm worried about or lack of 
constraints (on reg, clocks, interrupts, etc.).

Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: do not reference whole usb-switch.yaml
Date: Wed, 1 Oct 2025 11:31:39 -0500	[thread overview]
Message-ID: <20251001163139.GA1877961-robh@kernel.org> (raw)
In-Reply-To: <nwtt76n4t7tlf26ex47wrot7g7nldtmavbzgwmluls3egamjsi@mkomopb6fjh6>

On Tue, Sep 30, 2025 at 10:10:25PM +0300, Dmitry Baryshkov wrote:
> On Fri, Sep 05, 2025 at 12:55:33PM -0500, Rob Herring wrote:
> > On Tue, Sep 02, 2025 at 06:10:05PM +0200, Neil Armstrong wrote:
> > > Both bindings describe a different layout of the ports properties,
> > > leading to errors when validating DT using this PHY bindings as
> > > reported by Rob Herring.
> > > 
> > > Reported-by: Rob Herring <robh@kernel.org>
> > > Closes: https://lore.kernel.org/all/175462129176.394940.16810637795278334342.robh@kernel.org/
> > > Fixes: 3bad7fe22796 ("dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch")
> > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> > > ---
> > >  .../devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    | 8 +++++---
> > >  1 file changed, 5 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > index c8bc512df08b5694c8599f475de78679a4438449..5005514d7c3a1e4a8893883497fd204bc04e12be 100644
> > > --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> > > @@ -73,8 +73,11 @@ properties:
> > >      description:
> > >        See include/dt-bindings/phy/phy-qcom-qmp.h
> > >  
> > > -  mode-switch: true
> > > -  orientation-switch: true
> > > +  mode-switch:
> > > +    $ref: /schemas/usb/usb-switch.yaml#properties/mode-switch
> > > +
> > > +  orientation-switch:
> > > +    $ref: /schemas/usb/usb-switch.yaml#properties/orientation-switch

Looking at this again, this isn't even correct and I don't think it 
works. It's missing a '/' and  should be ...#/properties/... to be a 
valid json pointer.

I thought we checked this...

> > 
> > This is a pattern we try to avoid with references at a property level. I 
> > prefer you make port and ports not required in usb-switch.yaml.
> 
> But this solution is also not perfect. E.g.
> Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml should
> only allow the orienttion-switch property, while using
> allOf:$ref:usb-switch.yaml allows all three (orientation-switch,
> mode-switch, retimer-switch).

That can be handled like this:

$ref: usb-switch.yaml
properties:
  orientation-switch: true
additionalProperties: false

Though if you need unevaluatedProperties for some other reason, then 
that won't enforce it and it's just documentation. In that case, then 
perhaps usb-switch.yaml is not the right granularity and should be split 
up.

I put this into the category of "this is the least of our problems". I'm 
not that interested in enforcing what common properties a device uses or 
not. It's undocumented properties I'm worried about or lack of 
constraints (on reg, clocks, interrupts, etc.).

Rob

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  parent reply	other threads:[~2025-10-01 16:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-02 16:10 [PATCH] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: do not reference whole usb-switch.yaml Neil Armstrong
2025-09-02 16:10 ` Neil Armstrong
2025-09-03  8:01 ` Krzysztof Kozlowski
2025-09-03  8:01   ` Krzysztof Kozlowski
2025-09-05 17:55 ` Rob Herring
2025-09-05 17:55   ` Rob Herring
2025-09-08  7:33   ` Neil Armstrong
2025-09-08  7:33     ` Neil Armstrong
2025-09-17  7:00     ` Neil Armstrong
2025-09-17  7:00       ` Neil Armstrong
2025-09-30 19:10   ` Dmitry Baryshkov
2025-09-30 19:10     ` Dmitry Baryshkov
2025-10-01  7:07     ` Neil Armstrong
2025-10-01  7:07       ` Neil Armstrong
2025-10-01 16:31     ` Rob Herring [this message]
2025-10-01 16:31       ` Rob Herring
2025-10-02  7:26       ` Neil Armstrong
2025-10-02  7:26         ` Neil Armstrong
2025-10-06  8:41       ` Neil Armstrong
2025-10-06  8:41         ` Neil Armstrong

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=20251001163139.GA1877961-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=kishon@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=neil.armstrong@linaro.org \
    --cc=vkoul@kernel.org \
    /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.