linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: "Conor Dooley" <conor.dooley@microchip.com>
Cc: "Conor Dooley" <conor@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Roger Quadros" <rogerq@kernel.org>,
	"Peter Chen" <peter.chen@kernel.org>,
	"Pawel Laszczak" <pawell@cadence.com>,
	"Nishanth Menon" <nm@ti.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Tero Kristo" <kristo@kernel.org>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Grégory Clement" <gregory.clement@bootlin.com>,
	"Kevin Hilman" <khilman@kernel.org>,
	"Alan Stern" <stern@rowland.harvard.edu>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 1/8] dt-bindings: usb: ti,j721e-usb: drop useless compatible list
Date: Mon, 26 Feb 2024 15:35:59 +0100	[thread overview]
Message-ID: <CZF33W51MC4M.3GUBZFQXT39DB@bootlin.com> (raw)
In-Reply-To: <20240226-portable-rockslide-e501667a0d9a@wendy>

Hello,

On Mon Feb 26, 2024 at 12:56 PM CET, Conor Dooley wrote:
> On Mon, Feb 26, 2024 at 11:33:06AM +0100, Théo Lebrun wrote:
> > Hello Conor,
> > 
> > On Fri Feb 23, 2024 at 7:12 PM CET, Conor Dooley wrote:
> > > On Fri, Feb 23, 2024 at 05:05:25PM +0100, Théo Lebrun wrote:
> > > > Compatible can be A or B, not A or B or A+B. Remove last option.
> > > > A=ti,j721e-usb and B=ti,am64-usb.
> > > > 
> > > > Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> > > > ---
> > > >  Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml | 9 +++------
> > > >  1 file changed, 3 insertions(+), 6 deletions(-)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> > > > index 95ff9791baea..949f45eb45c2 100644
> > > > --- a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> > > > +++ b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml
> > > > @@ -11,12 +11,9 @@ maintainers:
> > > >  
> > > >  properties:
> > > >    compatible:
> > > > -    oneOf:
> > > > -      - const: ti,j721e-usb
> > > > -      - const: ti,am64-usb
> > > > -      - items:
> > > > -          - const: ti,j721e-usb
> > > > -          - const: ti,am64-usb
> > >
> > > Correct, this makes no sense. The devices seem to be compatible though,
> > > so I would expect this to actually be:
> > > oneOf:
> > >   - const: ti,j721e-usb
> > >   - items:
> > >       - const: ti,am64-usb
> > >       - const: ti,j721e-usb
> > 
> > I need your help to grasp what that change is supposed to express? Would
> > you mind turning it into english sentences?
> > A=ti,j721e-usb and B=ti,am64-usb. My understanding of your proposal is
> > that a device can either be compat with A or B. But B is compatible
> > with A so you express it as a list of items. If B is compat with A then
> > A is compat with B. Does the order of items matter?
>
> The two devices are compatible with each other, based on an inspection of
> the driver and the existing "A+B" setup. If this was a newly submitted
> binding, "B" would not get approved because "A+B" allows support without
> software changes and all that jazz.
>
> Your patch says that allowing "A", "B" and "A+B" makes no sense and you
> suggest removing "A+B". I am agreeing that it makes no sense to allow
> all 3 of these situations.
>
> What I also noticed is other problems with the binding. What should have
> been "A+B" is actually documented as "B+A", but that doesn't make sense
> when the originally supported device is "A".
>
> Therefore my suggestion was to only allow "A" and "A+B", which is what
> we would (hopefully) tell you to do were you submitting the am64 support
> as a new patch today.

Thank you for the in-depth explanation! It makes much more sense now,
especially the handling of historic stuff that ideally wouldn't have
been done this way but that won't be changed from now on.

> > I've not applied your proposal to check for dtbs_check but I'd guess it
> > would throw warnings for the single existing upstream DTSI (as of
> > v6.8-rc6) that uses "ti,am64-usb"? See:
> > arch/arm64/boot/dts/ti/k3-am64-main.dtsi.
>
> Yeah, it would but it's not as if that cannot be changed. There's no
> concerns here about backwards compatibility here, right?

I'm not involved in the maintenance of this platform so I do not believe
I should be answering this question. I asked the question because I
taught there always were concerns of backwards-compat when it comes to
DT and dt-bindings (in the best of all possible worlds).

K3 maintainers are already in cc.

Thanks,

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


  reply	other threads:[~2024-02-26 14:36 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-23 16:05 [PATCH v3 0/8] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Théo Lebrun
2024-02-23 16:05 ` [PATCH v3 1/8] dt-bindings: usb: ti,j721e-usb: drop useless compatible list Théo Lebrun
2024-02-23 18:12   ` Conor Dooley
2024-02-26 10:33     ` Théo Lebrun
2024-02-26 11:56       ` Conor Dooley
2024-02-26 14:35         ` Théo Lebrun [this message]
2024-02-27  4:24           ` Vignesh Raghavendra
2024-02-27  8:07             ` Conor Dooley
2024-02-23 16:05 ` [PATCH v3 2/8] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun
2024-02-23 18:13   ` Conor Dooley
2024-02-23 16:05 ` [PATCH v3 3/8] usb: cdns3-ti: move reg writes from probe into ->runtime_resume() Théo Lebrun
2024-02-23 16:05 ` [PATCH v3 4/8] usb: cdns3-ti: support reset-on-resume behavior Théo Lebrun
2024-02-24  9:08   ` Sergei Shtylyov
2024-02-26 10:13     ` Théo Lebrun
2024-02-27 16:27       ` Sergei Shtylyov
2024-02-23 16:05 ` [PATCH v3 5/8] usb: cdns3-ti: pass auxdata from match data to of_platform_populate() Théo Lebrun
2024-02-23 16:05 ` [PATCH v3 6/8] usb: cdns3: add quirk to platform data for reset-on-resume Théo Lebrun
2024-02-23 16:05 ` [PATCH v3 7/8] usb: cdns3-ti: add J7200 support with reset-on-resume behavior Théo Lebrun
2024-02-23 16:05 ` [PATCH v3 8/8] arm64: dts: ti: k3-j7200: use J7200-specific USB compatible Théo Lebrun

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=CZF33W51MC4M.3GUBZFQXT39DB@bootlin.com \
    --to=theo.lebrun@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=conor@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.clement@bootlin.com \
    --cc=khilman@kernel.org \
    --cc=kristo@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=pawell@cadence.com \
    --cc=peter.chen@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=rogerq@kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vigneshr@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).