RE: [PATCH net-next v1 1/4] dt-bindings: net: snps,dwmac: per channel irq

From: Swee, Leong Ching
Date: Tue Jan 02 2024 - 03:27:46 EST


> -----Original Message-----
> From: Serge Semin <fancer.lancer@xxxxxxxxx>
> Sent: Friday, December 22, 2023 10:51 PM
> To: Swee, Leong Ching <leong.ching.swee@xxxxxxxxx>
> Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>; Alexandre Torgue
> <alexandre.torgue@xxxxxxxxxxx>; Jose Abreu <joabreu@xxxxxxxxxxxx>;
> David S . Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet
> <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>; Conor Dooley
> <conor+dt@xxxxxxxxxx>; Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>;
> linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> netdev@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; G Thomas, Rohan
> <rohan.g.thomas@xxxxxxxxx>
> Subject: Re: [PATCH net-next v1 1/4] dt-bindings: net: snps,dwmac: per
> channel irq
>
> On Fri, Dec 22, 2023 at 01:44:48PM +0800, Leong Ching Swee wrote:
> > From: Swee Leong Ching <leong.ching.swee@xxxxxxxxx>
> >
> > Add dt-bindings for per channel irq.
> >
> > Signed-off-by: Rohan G Thomas <rohan.g.thomas@xxxxxxxxx>
> > Signed-off-by: Swee Leong Ching <leong.ching.swee@xxxxxxxxx>
> > ---
> > .../devicetree/bindings/net/snps,dwmac.yaml | 24 +++++++++++++------
> > 1 file changed, 17 insertions(+), 7 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > index 5c2769dc689a..e72dded824f4 100644
> > --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > @@ -103,17 +103,27 @@ properties:
> >
> > interrupts:
> > minItems: 1
> > - items:
> > - - description: Combined signal for various interrupt events
> > - - description: The interrupt to manage the remote wake-up packet
> detection
> > - - description: The interrupt that occurs when Rx exits the LPI state
> > + maxItems: 19
> >
> > interrupt-names:
> > minItems: 1
> > + maxItems: 19
> > items:
> > - - const: macirq
> > - - enum: [eth_wake_irq, eth_lpi]
> > - - const: eth_lpi
> > + oneOf:
> > + - description: Combined signal for various interrupt events
> > + const: macirq
> > + - description: The interrupt to manage the remote wake-up packet
> detection
> > + const: eth_wake_irq
> > + - description: The interrupt that occurs when Rx exits the LPI state
> > + const: eth_lpi
> > + - description: DMA Tx per-channel interrupt
> > + pattern: '^dma_tx[0-7]?$'
> > + - description: DMA Rx per-channel interrupt
> > + pattern: '^dma_rx[0-7]?$'
> > +
>
> > + allOf:
> > + - contains:
> > + const: macirq
>
> As Rob correctly noted it's also better to make sure that 'macirq' is placed first
> in the array. So instead of the constraint above I guess the next one would
> make sure both the array has 'macirq' name and it's the first item:
>
> allOf:
> - maxItems: 34
> items:
> - const: macirq
>
> -Serge(y)
>
interrupt-names:
minItems: 1
maxItems: 19
items:
oneOf:
- description: Combined signal for various interrupt events
const: macirq
- description: The interrupt to manage the remote wake-up packet detection
const: eth_wake_irq
- description: The interrupt that occurs when Rx exits the LPI state
const: eth_lpi
- description: DMA Tx per-channel interrupt
pattern: '^dma_tx[0-7]?$'
- description: DMA Rx per-channel interrupt
pattern: '^dma_rx[0-7]?$'

allOf:
- maxItems: 19
items:
- const: macirq

I am getting the warning/error below when I tried the changes above (but it does make sure macirq is placed first).
Removing maxItems create other error, did I miss anything?

/home/swiplab/build/jim/linux/net-next/Documentation/devicetree/bindings/net/snps,dwmac.yaml: properties:interrupt-names:allOf:0: {'maxItems': 19, 'items': [{'const': 'macirq'}]} should not be
valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml#
/home/swiplab/build/jim/linux/net-next/Documentation/devicetree/bindings/net/snps,dwmac.yaml: properties:interrupt-names:allOf:0: {'maxItems': 19, 'items': [{'const': 'macirq'}]} should not be
valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
> >
> > clocks:
> > minItems: 1
> > --
> > 2.34.1
> >
> >