[PATCH v3 1/6] dt-bindings: interrupt-controller: Refine size/interrupt-cell usage.

Kevin Chen kevin_chen at aspeedtech.com
Tue Dec 17 19:04:32 PST 2024


Hi Krzk,

> > 1. Because size-cells is no need to use 2, modify to 1 for use.
> 
> ???
So, is it OK that I change the size-cells back to 2 include the aspeed,ast2700-intc.yaml examples and aspeed-g7.dtsi?

> 
> > 2. Add minItems to 1 for interrupts for intc1.
> 
> ???
For variable interrupt numbers, I need to fix the below warnings by minItems.
  DTC [C] arch/arm64/boot/dts/aspeed/ast2700-evb.dtb
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 100: interrupts-extended: [[3, 0, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 110: interrupts-extended: [[3, 1, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 120: interrupts-extended: [[3, 2, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 130: interrupts-extended: [[3, 3, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 140: interrupts-extended: [[3, 4, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#
/home/kevin/linux-mainline/arch/arm64/boot/dts/aspeed/ast2700-evb.dtb: interrupt-controller at 150: interrupts-extended: [[3, 5, 3844]] is too short
        from schema $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2700-intc.yaml#

> 
> > 3. Add 1 interrupt of intc1 example into yaml file.
> 
> > 4. Add intc1 sub-module of uart12 as example using the intc0 and intc1.
> 
> What is all this?
> 
> BTW, there was no such patch in previous version and your changelog is silent
> about it.
Agree, I will restore the previous version.

> 
> Subject: drop all full stops. Subject never ends with full stop.
> 
> > ---
> >  .../aspeed,ast2700-intc.yaml                  | 60
> +++++++++++++++----
> >  1 file changed, 47 insertions(+), 13 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/interrupt-controller/aspeed,ast270
> > 0-intc.yaml
> > b/Documentation/devicetree/bindings/interrupt-controller/aspeed,ast270
> > 0-intc.yaml index 55636d06a674..eadfbc45326b 100644
> > ---
> > a/Documentation/devicetree/bindings/interrupt-controller/aspeed,ast270
> > 0-intc.yaml
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/aspeed,as
> > +++ t2700-intc.yaml
> > @@ -31,6 +31,7 @@ properties:
> >        type as defined in interrupt.txt in this directory.
> >
> >    interrupts:
> > +    minItems: 1
> 
> Nope, not explained, not constrained. Your schema is supposed to be
> constrained.
> 
> 
> >      maxItems: 6
> >      description: |
> >        Depend to which INTC0 or INTC1 used.
> > @@ -68,19 +69,52 @@ examples:
> >      #include <dt-bindings/interrupt-controller/arm-gic.h>
> >
> >      bus {
> > +      #address-cells = <2>;
> > +      #size-cells = <1>;
> > +
> > +      intc0: interrupt-controller at 12100000 {
> > +        compatible = "simple-mfd";
> > +        reg = <0 0x12100000 0x4000>;
> > +        ranges = <0x0 0x0 0x0 0x12100000 0x4000>;
> >          #address-cells = <2>;
> > -        #size-cells = <2>;
> > -
> > -        interrupt-controller at 12101b00 {
> > -            compatible = "aspeed,ast2700-intc-ic";
> > -            reg = <0 0x12101b00 0 0x10>;
> > -            #interrupt-cells = <2>;
> > -            interrupt-controller;
> > -            interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
> > -                         <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
> > -                         <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
> > -                         <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
> > -                         <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
> > -                         <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
> 
> 
> I don't understand what is all this.
> 
> > +        #size-cells = <1>;
> > +
> > +        intc0_11: interrupt-controller at 1b00 {
> > +          compatible = "aspeed,ast2700-intc-ic";
> > +          reg = <0 0x12101b00 0x10>;
> > +          #interrupt-cells = <2>;
> > +          interrupt-controller;
> > +          interrupts = <GIC_SPI 192 (GIC_CPU_MASK_SIMPLE(4) |
> IRQ_TYPE_LEVEL_HIGH)>,
> > +                       <GIC_SPI 193 (GIC_CPU_MASK_SIMPLE(4) |
> IRQ_TYPE_LEVEL_HIGH)>,
> > +                       <GIC_SPI 194 (GIC_CPU_MASK_SIMPLE(4) |
> IRQ_TYPE_LEVEL_HIGH)>,
> > +                       <GIC_SPI 195 (GIC_CPU_MASK_SIMPLE(4) |
> IRQ_TYPE_LEVEL_HIGH)>,
> > +                       <GIC_SPI 196 (GIC_CPU_MASK_SIMPLE(4) |
> IRQ_TYPE_LEVEL_HIGH)>,
> > +                       <GIC_SPI 197 (GIC_CPU_MASK_SIMPLE(4) |
> > + IRQ_TYPE_LEVEL_HIGH)>;
> >          };
> > +      };
> > +
> > +      intc1: interrupt-controller at 14c18000 {
> > +        compatible = "simple-mfd";
> > +        reg = <0 0x14c18000 0x400>;
> > +        ranges = <0x0 0x0 0x0 0x14c18000 0x400>;
> > +        #address-cells = <2>;
> > +        #size-cells = <1>;
> > +
> > +        intc1_4: interrupt-controller at 140 {
> > +          compatible = "aspeed,ast2700-intc-ic";
> > +          reg = <0x0 0x140 0x10>;
> > +          #interrupt-cells = <2>;
> > +          interrupt-controller;
> > +          interrupts-extended = <&intc0_11 4
> (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
> > +        };
> > +      };
> > +
> > +      uart12: serial at 14c33b00 {
> > +        compatible = "ns16550a";
> > +        reg = <0x0 0x14c33b00 0x100>;
> > +        interrupts-extended = <&intc1_4 18 (GIC_CPU_MASK_SIMPLE(4)
> | IRQ_TYPE_LEVEL_HIGH)>;
> > +        reg-shift = <2>;
> > +        reg-io-width = <4>;
> > +        no-loopback-test;
> > +      };
> 
> And above is not related at all. Don't add entirely unrelated changes. Drop.
> 
> 
> Best regards,
> Krzysztof

Best Regards,
Kevin. Chen


More information about the linux-arm-kernel mailing list