From: Lad Prabhakar <[email protected]>
Hi All,
This patch series updates renesas,scif.yaml to validate the 'interrupts'
and 'interrupt-names' properties for every supported SoC.
v1- > v2
* Included RB tag for patch #1 from Geert and Krzysztof
* For patch #2 defined the properties in top-level block
* Used Gen specific callback strings instead of each SoC
Cheers,
Prabhakar
Lad Prabhakar (2):
dt-bindings: serial: renesas,scif: Move ref for serial.yaml at the end
dt-bindings: serial: renesas,scif: Validate 'interrupts' and
'interrupt-names'
.../bindings/serial/renesas,scif.yaml | 120 +++++++++++-------
1 file changed, 77 insertions(+), 43 deletions(-)
--
2.34.1
From: Lad Prabhakar <[email protected]>
In preparation for adding more validation checks move the ref for
'serial.yaml' to the end and also move reset check in 'allOf' block.
Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
v1->v2
* Included RB tags from Geert and Krzysztof
---
.../bindings/serial/renesas,scif.yaml | 30 +++++++++----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml
index 4610a5bd580c..af72c3420453 100644
--- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml
+++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml
@@ -9,9 +9,6 @@ title: Renesas Serial Communication Interface with FIFO (SCIF)
maintainers:
- Geert Uytterhoeven <[email protected]>
-allOf:
- - $ref: serial.yaml#
-
properties:
compatible:
oneOf:
@@ -160,18 +157,21 @@ required:
- clock-names
- power-domains
-if:
- properties:
- compatible:
- contains:
- enum:
- - renesas,rcar-gen2-scif
- - renesas,rcar-gen3-scif
- - renesas,rcar-gen4-scif
- - renesas,scif-r9a07g044
-then:
- required:
- - resets
+allOf:
+ - $ref: serial.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - renesas,rcar-gen2-scif
+ - renesas,rcar-gen3-scif
+ - renesas,rcar-gen4-scif
+ - renesas,scif-r9a07g044
+ then:
+ required:
+ - resets
unevaluatedProperties: false
--
2.34.1
From: Lad Prabhakar <[email protected]>
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 <[email protected]>
---
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
---
.../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
+ - 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:
--
2.34.1
On Thu, Mar 7, 2024 at 12:43 PM Prabhakar <[email protected]> wrote:
> From: Lad Prabhakar <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On 07/03/2024 12:42, Prabhakar wrote:
> From: Lad Prabhakar <[email protected]>
>
> 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 <[email protected]>
> ---
> 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
<[email protected]> wrote:
>
> On 07/03/2024 12:42, Prabhakar wrote:
> > From: Lad Prabhakar <[email protected]>
> >
> > 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 <[email protected]>
> > ---
> > 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
> <[email protected]> wrote:
>>
>> On 07/03/2024 12:42, Prabhakar wrote:
>>> From: Lad Prabhakar <[email protected]>
>>>
>>> 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 <[email protected]>
>>> ---
>>> 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