Message ID | 20240307114217.34784-3-prabhakar.mahadev-lad.rj@bp.renesas.com |
---|---|
State | New |
Headers | show |
Series | dt-bindings: serial: renesas,scif: Validate 'interrupts' and 'interrupt-names' | expand |
On Thu, Mar 7, 2024 at 12:43 PM Prabhakar <prabhakar.csengg@gmail.com> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > This commit adds support to validate the 'interrupts' and 'interrupt-names' > properties for every supported SoC. This ensures proper handling and > configuration of interrupt-related properties across supported platforms. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > --- > v1->v2 > * Defined the properties in top-level block instead of moving into > if/else block for each SoC. > * Used Gen specific callback strings instead of each SoC variant Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert
On 07/03/2024 12:42, Prabhakar wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > This commit adds support to validate the 'interrupts' and 'interrupt-names' Please do not use "This commit/patch/change", but imperative mood. See longer explanation here: https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > properties for every supported SoC. This ensures proper handling and > configuration of interrupt-related properties across supported platforms. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > --- > v1->v2 > * Defined the properties in top-level block instead of moving into > if/else block for each SoC. > * Used Gen specific callback strings instead of each SoC variant You are sending quite a lot of patchsets touching the same, all in one day. This just adds to the confusion. > --- > .../bindings/serial/renesas,scif.yaml | 90 +++++++++++++------ > 1 file changed, 62 insertions(+), 28 deletions(-) > > diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > index af72c3420453..6ba6b6d52208 100644 > --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > @@ -83,36 +83,24 @@ properties: > maxItems: 1 > > interrupts: > - oneOf: > - - items: > - - description: A combined interrupt > - - items: > - - description: Error interrupt > - - description: Receive buffer full interrupt > - - description: Transmit buffer empty interrupt > - - description: Break interrupt > - - items: > - - description: Error interrupt > - - description: Receive buffer full interrupt > - - description: Transmit buffer empty interrupt > - - description: Break interrupt > - - description: Data Ready interrupt > - - description: Transmit End interrupt > + minItems: 1 > + items: > + - description: Error interrupt or single combined interrupt That's not correct, your first interrupt can be combined. > + - description: Receive buffer full interrupt > + - description: Transmit buffer empty interrupt > + - description: Break interrupt > + - description: Data Ready interrupt > + - description: Transmit End interrupt > > interrupt-names: > - oneOf: > - - items: > - - const: eri > - - const: rxi > - - const: txi > - - const: bri > - - items: > - - const: eri > - - const: rxi > - - const: txi > - - const: bri > - - const: dri > - - const: tei > + minItems: 4 > + items: > + - const: eri > + - const: rxi > + - const: txi > + - const: bri > + - const: dri > + - const: tei > > clocks: > minItems: 1 > @@ -173,6 +161,52 @@ allOf: > required: > - resets > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,rcar-gen1-scif > + - renesas,rcar-gen2-scif > + - renesas,rcar-gen3-scif > + - renesas,rcar-gen4-scif > + then: > + properties: > + interrupts: > + maxItems: 1 You need to list the items here. > + > + interrupt-names: false > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,scif-r7s72100 > + then: > + properties: > + interrupts: > + minItems: 4 > + maxItems: 4 List the items > + > + interrupt-names: > + maxItems: 4 > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,scif-r7s9210 > + - renesas,scif-r9a07g044 > + then: > + properties: > + interrupts: > + minItems: 6 List the items > + > + interrupt-names: > + minItems: 6 > + > unevaluatedProperties: false > > examples: Best regards, Krzysztof
Hi Krzysztof, Thank you for the review. On Thu, Mar 7, 2024 at 1:50 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 07/03/2024 12:42, Prabhakar wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > This commit adds support to validate the 'interrupts' and 'interrupt-names' > > Please do not use "This commit/patch/change", but imperative mood. See > longer explanation here: > https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > Sure, I will update the description. > > properties for every supported SoC. This ensures proper handling and > > configuration of interrupt-related properties across supported platforms. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > --- > > v1->v2 > > * Defined the properties in top-level block instead of moving into > > if/else block for each SoC. > > * Used Gen specific callback strings instead of each SoC variant > > You are sending quite a lot of patchsets touching the same, all in one > day. This just adds to the confusion. > Ok, I'll make it as a single series. > > --- > > .../bindings/serial/renesas,scif.yaml | 90 +++++++++++++------ > > 1 file changed, 62 insertions(+), 28 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > > index af72c3420453..6ba6b6d52208 100644 > > --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > > +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > > @@ -83,36 +83,24 @@ properties: > > maxItems: 1 > > > > interrupts: > > - oneOf: > > - - items: > > - - description: A combined interrupt > > - - items: > > - - description: Error interrupt > > - - description: Receive buffer full interrupt > > - - description: Transmit buffer empty interrupt > > - - description: Break interrupt > > - - items: > > - - description: Error interrupt > > - - description: Receive buffer full interrupt > > - - description: Transmit buffer empty interrupt > > - - description: Break interrupt > > - - description: Data Ready interrupt > > - - description: Transmit End interrupt > > + minItems: 1 > > + items: > > + - description: Error interrupt or single combined interrupt > > That's not correct, your first interrupt can be combined. > In here we are combining and making a single list hence the description is updated as "Error interrupt or single combined interrupt". so that we dont have to list the items in the below if/else checks. Also when the interrupts are combined we dont specify interrupt-names hence in the below check we set "interrupt-names: false" > > + - description: Receive buffer full interrupt > > + - description: Transmit buffer empty interrupt > > + - description: Break interrupt > > + - description: Data Ready interrupt > > + - description: Transmit End interrupt > > > > interrupt-names: > > - oneOf: > > - - items: > > - - const: eri > > - - const: rxi > > - - const: txi > > - - const: bri > > - - items: > > - - const: eri > > - - const: rxi > > - - const: txi > > - - const: bri > > - - const: dri > > - - const: tei > > + minItems: 4 > > + items: > > + - const: eri > > + - const: rxi > > + - const: txi > > + - const: bri > > + - const: dri > > + - const: tei > > > > clocks: > > minItems: 1 > > @@ -173,6 +161,52 @@ allOf: > > required: > > - resets > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - renesas,rcar-gen1-scif > > + - renesas,rcar-gen2-scif > > + - renesas,rcar-gen3-scif > > + - renesas,rcar-gen4-scif > > + then: > > + properties: > > + interrupts: > > + maxItems: 1 > > You need to list the items here. > Shouldn't the already squashed interrupts list still be valid here? Why do we need to list the item here (and below)? If we list items for interrupts should we be doing the same for interrupt-names too? Cheers, Prabhakar > > + > > + interrupt-names: false > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - renesas,scif-r7s72100 > > + then: > > + properties: > > + interrupts: > > + minItems: 4 > > + maxItems: 4 > > List the items > > > + > > + interrupt-names: > > + maxItems: 4 > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - renesas,scif-r7s9210 > > + - renesas,scif-r9a07g044 > > + then: > > + properties: > > + interrupts: > > + minItems: 6 > > List the items > > > + > > + interrupt-names: > > + minItems: 6 > > + > > unevaluatedProperties: false > > > > examples: > > Best regards, > Krzysztof >
On 08/03/2024 11:18, Lad, Prabhakar wrote: > Hi Krzysztof, > > Thank you for the review. > > On Thu, Mar 7, 2024 at 1:50 PM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> On 07/03/2024 12:42, Prabhakar wrote: >>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> >>> >>> This commit adds support to validate the 'interrupts' and 'interrupt-names' >> >> Please do not use "This commit/patch/change", but imperative mood. See >> longer explanation here: >> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 >> > Sure, I will update the description. > >>> properties for every supported SoC. This ensures proper handling and >>> configuration of interrupt-related properties across supported platforms. >>> >>> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> >>> --- >>> v1->v2 >>> * Defined the properties in top-level block instead of moving into >>> if/else block for each SoC. >>> * Used Gen specific callback strings instead of each SoC variant >> >> You are sending quite a lot of patchsets touching the same, all in one >> day. This just adds to the confusion. >> > Ok, I'll make it as a single series. > >>> --- >>> .../bindings/serial/renesas,scif.yaml | 90 +++++++++++++------ >>> 1 file changed, 62 insertions(+), 28 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>> index af72c3420453..6ba6b6d52208 100644 >>> --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>> +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml >>> @@ -83,36 +83,24 @@ properties: >>> maxItems: 1 >>> >>> interrupts: >>> - oneOf: >>> - - items: >>> - - description: A combined interrupt >>> - - items: >>> - - description: Error interrupt >>> - - description: Receive buffer full interrupt >>> - - description: Transmit buffer empty interrupt >>> - - description: Break interrupt >>> - - items: >>> - - description: Error interrupt >>> - - description: Receive buffer full interrupt >>> - - description: Transmit buffer empty interrupt >>> - - description: Break interrupt >>> - - description: Data Ready interrupt >>> - - description: Transmit End interrupt >>> + minItems: 1 >>> + items: >>> + - description: Error interrupt or single combined interrupt >> >> That's not correct, your first interrupt can be combined. >> > In here we are combining and making a single list hence the > description is updated as "Error interrupt or single combined > interrupt". so that we dont have to list the items in the below > if/else checks. Also when the interrupts are combined we dont specify > interrupt-names hence in the below check we set "interrupt-names: > false" I know what you did and my comment stands. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml index af72c3420453..6ba6b6d52208 100644 --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml @@ -83,36 +83,24 @@ properties: maxItems: 1 interrupts: - oneOf: - - items: - - description: A combined interrupt - - items: - - description: Error interrupt - - description: Receive buffer full interrupt - - description: Transmit buffer empty interrupt - - description: Break interrupt - - items: - - description: Error interrupt - - description: Receive buffer full interrupt - - description: Transmit buffer empty interrupt - - description: Break interrupt - - description: Data Ready interrupt - - description: Transmit End interrupt + minItems: 1 + items: + - description: Error interrupt or single combined interrupt + - description: Receive buffer full interrupt + - description: Transmit buffer empty interrupt + - description: Break interrupt + - description: Data Ready interrupt + - description: Transmit End interrupt interrupt-names: - oneOf: - - items: - - const: eri - - const: rxi - - const: txi - - const: bri - - items: - - const: eri - - const: rxi - - const: txi - - const: bri - - const: dri - - const: tei + minItems: 4 + items: + - const: eri + - const: rxi + - const: txi + - const: bri + - const: dri + - const: tei clocks: minItems: 1 @@ -173,6 +161,52 @@ allOf: required: - resets + - if: + properties: + compatible: + contains: + enum: + - renesas,rcar-gen1-scif + - renesas,rcar-gen2-scif + - renesas,rcar-gen3-scif + - renesas,rcar-gen4-scif + then: + properties: + interrupts: + maxItems: 1 + + interrupt-names: false + + - if: + properties: + compatible: + contains: + enum: + - renesas,scif-r7s72100 + then: + properties: + interrupts: + minItems: 4 + maxItems: 4 + + interrupt-names: + maxItems: 4 + + - if: + properties: + compatible: + contains: + enum: + - renesas,scif-r7s9210 + - renesas,scif-r9a07g044 + then: + properties: + interrupts: + minItems: 6 + + interrupt-names: + minItems: 6 + unevaluatedProperties: false examples: