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

From: Binbin Zhou
Date: Tue Oct 31 2023 - 22:06:04 EST


On Tue, Oct 31, 2023 at 11:53 PM Rob Herring <robh@xxxxxxxxxx> 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@xxxxxxxxxxx>
> > ---
> > .../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
> >