[PATCH v2 4/7] dt-bindings: net: dsa: mediatek,mt7530: define port binding per compatible
Arınç ÜNAL
arinc.unal at arinc9.com
Sat Aug 20 00:34:08 PDT 2022
On 19.08.2022 15:43, Krzysztof Kozlowski wrote:
> On 13/08/2022 18:44, Arınç ÜNAL wrote:
>> Define DSA port binding under each compatible device as each device
>> requires different values for certain properties.
>>
>> Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>> ---
>> .../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.
>
>
>> 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ç
More information about the Linux-mediatek
mailing list