[v2,net-next,2/6] dt-bindings: net: dsa: qca8k: utilize shared dsa.yaml

Message ID 20221104045204.746124-3-colin.foster@in-advantage.com
State New
Headers
Series dt-binding preparation for ocelot switches |

Commit Message

Colin Foster Nov. 4, 2022, 4:52 a.m. UTC
  The dsa.yaml binding contains duplicated bindings for address and size
cells, as well as the reference to dsa-port.yaml. Instead of duplicating
this information, remove the reference to dsa-port.yaml and include the
full reference to dsa.yaml.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Suggested-by: Vladimir Oltean <olteanv@gmail.com>
---

v1 -> v2
  * Add #address-cells and #size-cells to the switch layer. They aren't
    part of dsa.yaml.
  * Add unevaluatedProperties: true to the ethernet-port layer so it can
    correctly read properties from dsa.yaml.

---
 .../devicetree/bindings/net/dsa/qca8k.yaml     | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)
  

Comments

Vladimir Oltean Nov. 9, 2022, 11:07 p.m. UTC | #1
On Thu, Nov 03, 2022 at 09:52:00PM -0700, Colin Foster wrote:
> The dsa.yaml binding contains duplicated bindings for address and size
> cells, as well as the reference to dsa-port.yaml. Instead of duplicating
> this information, remove the reference to dsa-port.yaml and include the
> full reference to dsa.yaml.
> 
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> Suggested-by: Vladimir Oltean <olteanv@gmail.com>
> ---
> 
> v1 -> v2
>   * Add #address-cells and #size-cells to the switch layer. They aren't
>     part of dsa.yaml.

I'm afraid this is not the correct resolution to the warnings you saw.
There is no reason to have #address-cells = <1> under the "switch" node,
since none of that node's children have a unit address (see: "ports", "mdio").
The schema example is wrong, please fix that.
  

Patch

diff --git a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
index 978162df51f7..d831d5eee437 100644
--- a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
@@ -33,6 +33,10 @@  properties:
       qca,qca8334: referenced as QCA8334-AL3C QFN 88 pin package
       qca,qca8337: referenced as QCA8337N-AL3(B/C) DR-QFN 148 pin package
 
+  '#address-cells':
+    const: 1
+  '#size-cells':
+    const: 0
   reg:
     maxItems: 1
 
@@ -66,22 +70,16 @@  properties:
                  With the legacy mapping the reg corresponding to the internal
                  mdio is the switch reg with an offset of -1.
 
+$ref: "dsa.yaml#"
+
 patternProperties:
   "^(ethernet-)?ports$":
     type: object
-    properties:
-      '#address-cells':
-        const: 1
-      '#size-cells':
-        const: 0
-
     patternProperties:
       "^(ethernet-)?port@[0-6]$":
         type: object
         description: Ethernet switch ports
 
-        $ref: dsa-port.yaml#
-
         properties:
           qca,sgmii-rxclk-falling-edge:
             $ref: /schemas/types.yaml#/definitions/flag
@@ -104,7 +102,7 @@  patternProperties:
               SGMII on the QCA8337, it is advised to set this unless a communication
               issue is observed.
 
-        unevaluatedProperties: false
+        unevaluatedProperties: true
 
 oneOf:
   - required:
@@ -116,7 +114,7 @@  required:
   - compatible
   - reg
 
-additionalProperties: true
+unevaluatedProperties: false
 
 examples:
   - |