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
next prev 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.