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