Thread (22 messages) 22 messages, 3 authors, 2022-08-23

Re: [PATCH v2 4/7] dt-bindings: net: dsa: mediatek,mt7530: define port binding per compatible

From: Arınç ÜNAL <hidden>
Date: 2022-08-20 07:35:09
Also in: linux-arm-kernel, linux-devicetree, linux-mediatek, lkml

On 19.08.2022 15:43, Krzysztof Kozlowski wrote:
On 13/08/2022 18:44, Arınç ÜNAL wrote:
quoted
Define DSA port binding under each compatible device as each device
requires different values for certain properties.

Signed-off-by: Arınç ÜNAL <redacted>
---
  .../bindings/net/dsa/mediatek,mt7530.yaml     | 116 +++++++++++++-----
  1 file changed, 87 insertions(+), 29 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index cc87f48d4d07..ff51a2f6875f 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -130,35 +130,6 @@ properties:
        ethsys.
      maxItems: 1
  
-patternProperties:
-  "^(ethernet-)?ports$":
-    type: object
-
-    patternProperties:
-      "^(ethernet-)?port@[0-9]+$":
-        type: object
-        description: Ethernet switch ports
-
my comments from v1 apply here

None of the reasons you said force you to define properties in some
allOf:if:then subblock. These force you to constrain the properties in
allOf:if:then, but not define.

quoted
I can split patternProperties to two sections, but I can't directly
define the reg property like you put above.
Of course you can and original bindings were doing it.

Let me ask specific questions (yes, no):
1. Are ethernet-ports and ethernet-port present in each variant?
2. Is dsa-port.yaml applicable to each variant? (looks like that - three
compatibles, three all:if:then)
3. If reg appearing in each variant?
4. If above is true, if reg is maximum one item in each variant?
All yes.
Looking at your patch, I think answer is 4x yes, which means you can
define them in one place and constrain in allOf:if:then, just like all
other schemas, because this one is not different.
If I understand correctly, I do this already with v3. Properties are 
defined under the constructed node. Accepted values for properties are 
constrained under if:then.

Arınç
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help