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 > >