diff mbox series

dt-bindings: usb: usb251xb: correct swap-dx-lanes type to uint32

Message ID 20230515103337.130607-1-krzysztof.kozlowski@linaro.org (mailing list archive)
State Superseded
Headers show
Series dt-bindings: usb: usb251xb: correct swap-dx-lanes type to uint32 | expand

Commit Message

Krzysztof Kozlowski May 15, 2023, 10:33 a.m. UTC
The "swap-dx-lanes" was never described as uint8 in original TXT
bindings and Linuxx driver expects uint32.  Fix the type to match Linux
driver expectation and original binding.

Fixes: fff61d4ccf3d ("dt-bindings: usb: usb251xb: Convert to YAML schema")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Cc: mike.looijmans@topic.nl
---
 Documentation/devicetree/bindings/usb/usb251xb.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marek Vasut May 15, 2023, 12:55 p.m. UTC | #1
On 5/15/23 12:33, Krzysztof Kozlowski wrote:
> The "swap-dx-lanes" was never described as uint8 in original TXT
> bindings and Linuxx driver expects uint32.  Fix the type to match Linux

Linux , one x too many .

> driver expectation and original binding.
> 
> Fixes: fff61d4ccf3d ("dt-bindings: usb: usb251xb: Convert to YAML schema")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> Cc: mike.looijmans@topic.nl
> ---
>   Documentation/devicetree/bindings/usb/usb251xb.yaml | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/usb251xb.yaml b/Documentation/devicetree/bindings/usb/usb251xb.yaml
> index 4d1530816817..ac5b99710332 100644
> --- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
> +++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
> @@ -231,7 +231,7 @@ properties:
>         power-on sequence to a port until the port has adequate power.
>   
>     swap-dx-lanes:
> -    $ref: /schemas/types.yaml#/definitions/uint8-array
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>       description: |
>         Specifies the ports which will swap the differential-pair (D+/D-),
>         default is not-swapped.

Would it make more sense to update the driver instead ? I doubt you 
could have more than 256 ports on this device after all.
Mike Looijmans May 15, 2023, 1:17 p.m. UTC | #2
See below...

Met vriendelijke groet / kind regards,

Mike Looijmans
System Expert


TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands

T: +31 (0) 499 33 69 69
E: mike.looijmans@topicproducts.com
W: www.topic.nl

Please consider the environment before printing this e-mail
On 15-05-2023 14:55, Marek Vasut wrote:
> On 5/15/23 12:33, Krzysztof Kozlowski wrote: diff --git 
> a/Documentation/devicetree/bindings/usb/usb251xb.yaml 
> b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>> index 4d1530816817..ac5b99710332 100644
>> --- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
>> +++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>> @@ -231,7 +231,7 @@ properties:
>>         power-on sequence to a port until the port has adequate power.
>>       swap-dx-lanes:
>> -    $ref: /schemas/types.yaml#/definitions/uint8-array
>> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>>       description: |
>>         Specifies the ports which will swap the differential-pair 
>> (D+/D-),
>>         default is not-swapped.
>
> Would it make more sense to update the driver instead ? I doubt you 
> could have more than 256 ports on this device after all.


I guess there's a bunch of devicetrees already out there using the 
(misdocumented) 32-bit array binding, they'd break in a bad way...
Marek Vasut May 15, 2023, 1:47 p.m. UTC | #3
On 5/15/23 15:17, mike.looijmans@topic.nl wrote:
> See below...
> 
> Met vriendelijke groet / kind regards,
> 
> Mike Looijmans
> System Expert
> 
> 
> TOPIC Embedded Products B.V.
> Materiaalweg 4, 5681 RJ Best
> The Netherlands
> 
> T: +31 (0) 499 33 69 69
> E: mike.looijmans@topicproducts.com
> W: www.topic.nl

Can you please drop this part next time ?

> Please consider the environment before printing this e-mail
> On 15-05-2023 14:55, Marek Vasut wrote:
>> On 5/15/23 12:33, Krzysztof Kozlowski wrote: diff --git 
>> a/Documentation/devicetree/bindings/usb/usb251xb.yaml 
>> b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>> index 4d1530816817..ac5b99710332 100644
>>> --- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>> +++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>> @@ -231,7 +231,7 @@ properties:
>>>         power-on sequence to a port until the port has adequate power.
>>>       swap-dx-lanes:
>>> -    $ref: /schemas/types.yaml#/definitions/uint8-array
>>> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>>>       description: |
>>>         Specifies the ports which will swap the differential-pair 
>>> (D+/D-),
>>>         default is not-swapped.
>>
>> Would it make more sense to update the driver instead ? I doubt you 
>> could have more than 256 ports on this device after all.
> 
> 
> I guess there's a bunch of devicetrees already out there using the 
> (misdocumented) 32-bit array binding, they'd break in a bad way...

I think it is the other way around -- if the binding was documented as 
u8, then the existing DTs should use the u8 type if they are compliant 
to the binding document.

I see one board in next which uses this property and sets it to 0 , so 
this one is not affected either way:
arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts: 
swap-dx-lanes = <0>;
Krzysztof Kozlowski May 16, 2023, 8:19 a.m. UTC | #4
On 15/05/2023 15:47, Marek Vasut wrote:
>> Please consider the environment before printing this e-mail
>> On 15-05-2023 14:55, Marek Vasut wrote:
>>> On 5/15/23 12:33, Krzysztof Kozlowski wrote: diff --git 
>>> a/Documentation/devicetree/bindings/usb/usb251xb.yaml 
>>> b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>> index 4d1530816817..ac5b99710332 100644
>>>> --- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>> +++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>> @@ -231,7 +231,7 @@ properties:
>>>>         power-on sequence to a port until the port has adequate power.
>>>>       swap-dx-lanes:
>>>> -    $ref: /schemas/types.yaml#/definitions/uint8-array
>>>> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>>>>       description: |
>>>>         Specifies the ports which will swap the differential-pair 
>>>> (D+/D-),
>>>>         default is not-swapped.
>>>
>>> Would it make more sense to update the driver instead ? I doubt you 
>>> could have more than 256 ports on this device after all.
>>
>>
>> I guess there's a bunch of devicetrees already out there using the 
>> (misdocumented) 32-bit array binding, they'd break in a bad way...
> 
> I think it is the other way around -- if the binding was documented as 
> u8, then the existing DTs should use the u8 type if they are compliant 
> to the binding document.
> 
> I see one board in next which uses this property and sets it to 0 , so 
> this one is not affected either way:
> arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts: 
> swap-dx-lanes = <0>;


First of all, the original binding did not define it as u8. It actually
skipped the type entirely but:
 - Example shown u32,
 - Driver used u32,
 - In-tree user uses u32 (although as pointed - as 0 so not really
relevant).

Thus the ABI is rather defined by not-breaking users here, so I would
stick to fixing it to u32.

Best regards,
Krzysztof
Marek Vasut May 16, 2023, 8:21 a.m. UTC | #5
On 5/16/23 10:19, Krzysztof Kozlowski wrote:
> On 15/05/2023 15:47, Marek Vasut wrote:
>>> Please consider the environment before printing this e-mail
>>> On 15-05-2023 14:55, Marek Vasut wrote:
>>>> On 5/15/23 12:33, Krzysztof Kozlowski wrote: diff --git
>>>> a/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>> b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>>> index 4d1530816817..ac5b99710332 100644
>>>>> --- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>>> +++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
>>>>> @@ -231,7 +231,7 @@ properties:
>>>>>          power-on sequence to a port until the port has adequate power.
>>>>>        swap-dx-lanes:
>>>>> -    $ref: /schemas/types.yaml#/definitions/uint8-array
>>>>> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>>>>>        description: |
>>>>>          Specifies the ports which will swap the differential-pair
>>>>> (D+/D-),
>>>>>          default is not-swapped.
>>>>
>>>> Would it make more sense to update the driver instead ? I doubt you
>>>> could have more than 256 ports on this device after all.
>>>
>>>
>>> I guess there's a bunch of devicetrees already out there using the
>>> (misdocumented) 32-bit array binding, they'd break in a bad way...
>>
>> I think it is the other way around -- if the binding was documented as
>> u8, then the existing DTs should use the u8 type if they are compliant
>> to the binding document.
>>
>> I see one board in next which uses this property and sets it to 0 , so
>> this one is not affected either way:
>> arch/arm64/boot/dts/freescale/imx8mq-zii-ultra-rmb3.dts:
>> swap-dx-lanes = <0>;
> 
> 
> First of all, the original binding did not define it as u8. It actually
> skipped the type entirely but:
>   - Example shown u32,
>   - Driver used u32,
>   - In-tree user uses u32 (although as pointed - as 0 so not really
> relevant).
> 
> Thus the ABI is rather defined by not-breaking users here, so I would
> stick to fixing it to u32.

Fine by me.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/usb251xb.yaml b/Documentation/devicetree/bindings/usb/usb251xb.yaml
index 4d1530816817..ac5b99710332 100644
--- a/Documentation/devicetree/bindings/usb/usb251xb.yaml
+++ b/Documentation/devicetree/bindings/usb/usb251xb.yaml
@@ -231,7 +231,7 @@  properties:
       power-on sequence to a port until the port has adequate power.
 
   swap-dx-lanes:
-    $ref: /schemas/types.yaml#/definitions/uint8-array
+    $ref: /schemas/types.yaml#/definitions/uint32-array
     description: |
       Specifies the ports which will swap the differential-pair (D+/D-),
       default is not-swapped.