diff mbox series

[v3,3/5] dt-bindings: interrupt-controller: loongson,liointc: Fix dtbs_check for interrupt-names

Message ID 7fae3ce932b455effcf73ff0208f4776959f2f44.1698717154.git.zhoubinbin@loongson.cn
State Changes Requested, archived
Headers show
Series dt-bindings: interrupt-controller: Fix some loongson,liointc warnings | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 20 lines checked
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Binbin Zhou Oct. 31, 2023, 2:36 a.m. UTC
The Loongson-2K0500/2K1000 CPUs have 64 interrupt sources as inputs, and
a route-mapped node handles up to 32 interrupt sources, so two liointc
nodes are defined in dts{i}.
Of course, we need to ensure that the routing outputs (intx) of the two
nodes cannot conflict.

For example, in Loongson-2K1000, 'int0' is typically used by the liointc0
node, then the liointc1 node can only use the outputs starting with
'int1'.

So "interrupt-names" should be defined by "pattern".

This fixes dtbs_check warning:

DTC_CHK arch/loongarch/boot/dts/loongson-2k0500-ref.dtb
arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: interrupt-names:0: 'int0' was expected
        From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
        From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
DTC_CHK arch/loongarch/boot/dts/loongson-2k1000-ref.dtb
arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: interrupt-names:0: 'int0' was expected
        From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
        From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
---
 .../bindings/interrupt-controller/loongson,liointc.yaml    | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Rob Herring (Arm) Oct. 31, 2023, 5:53 p.m. UTC | #1
On Tue, Oct 31, 2023 at 10:36:38AM +0800, Binbin Zhou wrote:
> The Loongson-2K0500/2K1000 CPUs have 64 interrupt sources as inputs, and
> a route-mapped node handles up to 32 interrupt sources, so two liointc
> nodes are defined in dts{i}.
> Of course, we need to ensure that the routing outputs (intx) of the two
> nodes cannot conflict.
> 
> For example, in Loongson-2K1000, 'int0' is typically used by the liointc0
> node, then the liointc1 node can only use the outputs starting with
> 'int1'.
> 
> So "interrupt-names" should be defined by "pattern".
> 
> This fixes dtbs_check warning:
> 
> DTC_CHK arch/loongarch/boot/dts/loongson-2k0500-ref.dtb
> arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: interrupt-names:0: 'int0' was expected
>         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
>         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> DTC_CHK arch/loongarch/boot/dts/loongson-2k1000-ref.dtb
> arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: interrupt-names:0: 'int0' was expected
>         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
>         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> 
> Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
> ---
>  .../bindings/interrupt-controller/loongson,liointc.yaml    | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> index 7393d7dfbe82..a90c609d351e 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> @@ -54,11 +54,9 @@ properties:
>    interrupt-names:
>      description: List of names for the parent interrupts.
>      items:
> -      - const: int0
> -      - const: int1
> -      - const: int2
> -      - const: int3
> +      pattern: int[0-3]
>      minItems: 1
> +    maxItems: 4
>  
>    '#interrupt-cells':
>      const: 2
> @@ -87,6 +85,7 @@ required:
>    - compatible
>    - reg
>    - interrupts
> +  - interrupt-names

A new required property is an ABI break. Is that okay for this platform? 
The commit msg should answer that if so.


>    - interrupt-controller
>    - '#interrupt-cells'
>    - loongson,parent-int-map
> -- 
> 2.39.3
>
Binbin Zhou Nov. 1, 2023, 2:05 a.m. UTC | #2
On Tue, Oct 31, 2023 at 11:53 PM Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Oct 31, 2023 at 10:36:38AM +0800, Binbin Zhou wrote:
> > The Loongson-2K0500/2K1000 CPUs have 64 interrupt sources as inputs, and
> > a route-mapped node handles up to 32 interrupt sources, so two liointc
> > nodes are defined in dts{i}.
> > Of course, we need to ensure that the routing outputs (intx) of the two
> > nodes cannot conflict.
> >
> > For example, in Loongson-2K1000, 'int0' is typically used by the liointc0
> > node, then the liointc1 node can only use the outputs starting with
> > 'int1'.
> >
> > So "interrupt-names" should be defined by "pattern".
> >
> > This fixes dtbs_check warning:
> >
> > DTC_CHK arch/loongarch/boot/dts/loongson-2k0500-ref.dtb
> > arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: interrupt-names:0: 'int0' was expected
> >         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > arch/loongarch/boot/dts/loongson-2k0500-ref.dtb: interrupt-controller@1fe11440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
> >         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > DTC_CHK arch/loongarch/boot/dts/loongson-2k1000-ref.dtb
> > arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: interrupt-names:0: 'int0' was expected
> >         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > arch/loongarch/boot/dts/loongson-2k1000-ref.dtb: interrupt-controller@1fe01440: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
> >         From schema: Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> >
> > Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
> > ---
> >  .../bindings/interrupt-controller/loongson,liointc.yaml    | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > index 7393d7dfbe82..a90c609d351e 100644
> > --- a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
> > @@ -54,11 +54,9 @@ properties:
> >    interrupt-names:
> >      description: List of names for the parent interrupts.
> >      items:
> > -      - const: int0
> > -      - const: int1
> > -      - const: int2
> > -      - const: int3
> > +      pattern: int[0-3]
> >      minItems: 1
> > +    maxItems: 4
> >
> >    '#interrupt-cells':
> >      const: 2
> > @@ -87,6 +85,7 @@ required:
> >    - compatible
> >    - reg
> >    - interrupts
> > +  - interrupt-names
>
> A new required property is an ABI break. Is that okay for this platform?
> The commit msg should answer that if so.

Hi Rob:

Thanks for your reply.

In fact, 'interrupt-names' is essential for both liointc-1.0 and
liointc-2.0, and we now pass it to get the corresponding interrupt
number.
To a certain extent, I think it's already 'required'.
Of course, I'll try to explain it more clearly in the commit message.

Thanks.
Binbin
>
>
> >    - interrupt-controller
> >    - '#interrupt-cells'
> >    - loongson,parent-int-map
> > --
> > 2.39.3
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
index 7393d7dfbe82..a90c609d351e 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
@@ -54,11 +54,9 @@  properties:
   interrupt-names:
     description: List of names for the parent interrupts.
     items:
-      - const: int0
-      - const: int1
-      - const: int2
-      - const: int3
+      pattern: int[0-3]
     minItems: 1
+    maxItems: 4
 
   '#interrupt-cells':
     const: 2
@@ -87,6 +85,7 @@  required:
   - compatible
   - reg
   - interrupts
+  - interrupt-names
   - interrupt-controller
   - '#interrupt-cells'
   - loongson,parent-int-map