lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 27 Feb 2024 09:54:30 +0530
From: Vignesh Raghavendra <vigneshr@...com>
To: Théo Lebrun <theo.lebrun@...tlin.com>,
        Conor Dooley
	<conor.dooley@...rochip.com>
CC: Conor Dooley <conor@...nel.org>,
        Greg Kroah-Hartman
	<gregkh@...uxfoundation.org>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof
 Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley
	<conor+dt@...nel.org>, Roger Quadros <rogerq@...nel.org>,
        Peter Chen
	<peter.chen@...nel.org>,
        Pawel Laszczak <pawell@...ence.com>, Nishanth Menon
	<nm@...com>,
        Tero Kristo <kristo@...nel.org>,
        Thomas Petazzoni
	<thomas.petazzoni@...tlin.com>,
        Grégory Clement
	<gregory.clement@...tlin.com>,
        Kevin Hilman <khilman@...nel.org>,
        Alan Stern
	<stern@...land.harvard.edu>, <linux-usb@...r.kernel.org>,
        <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v3 1/8] dt-bindings: usb: ti,j721e-usb: drop useless
 compatible list



On 26/02/24 20:05, Théo Lebrun wrote:
> 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@...tlin.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.
> 

IIRC, idea behind adding new compatible for AM64 even though register
map is very much compatible is just being future proof as AM64 and J721e
belong to different product groups and thus have differences wrt SoC
level integration etc which may need SoC specific handling later on.

I don't see any DT (now or in the past) using

compatible = B,A or compatible = A,B

So do we really need A+B to be supported by binding?

Also, note that AM64 SoC support was added long after J721e. So ideally
should be B+A if at all we need a fallback compatible.

Regards
Vignesh
-- 
Regards
Vignesh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ