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 > > > --- > > > 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. > 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?