Documentation/devicetree/bindings/usb/usb251xb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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(-)
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.
--
2.34.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.
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... -- Mike Looijmans
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>;
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
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.
© 2016 - 2026 Red Hat, Inc.