[PATCH] dt-bindings: usb: genesys,gl850g: allow downstream device subnodes

From: Icenowy Zheng
Date: Tue Sep 17 2024 - 05:42:32 EST


As this binding describes USB hubs, it's natural for them to have
downstream devices.

Change "additionalProperties" to "unevaluatedProperties" to allow
properties defined in usb-device.yaml (for DT cells properties) and add
a pattern-based downstream device subnode rule to match those subnodes.

These changes allow downstream devices get defined under the hub.

Signed-off-by: Icenowy Zheng <uwu@xxxxxxxxxx>
---
This patch is sent to fix the problems shown for the patchset at [1],
which declares a MAC-address-less ethernet adapter subnode of the GL850G
to have its MAC address set from the bootloader.

[1] https://lore.kernel.org/linux-arm-kernel/172623730520.4076253.7175037716930825765.robh@xxxxxxxxxx/

.../devicetree/bindings/usb/genesys,gl850g.yaml | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
index fc833363cfb49..6fe2d356dcbde 100644
--- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
+++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
@@ -62,7 +62,14 @@ allOf:
peer-hub: true
vdd-supply: true

-additionalProperties: false
+patternProperties:
+ "^.*@[0-9a-f]{1,2}$":
+ description: The hard wired USB devices
+ type: object
+ $ref: /schemas/usb/usb-device.yaml
+ additionalProperties: true
+
+unevaluatedProperties: false

examples:
- |
--
2.46.0