Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number

From: Rob Herring
Date: Sat Oct 05 2024 - 14:03:52 EST


On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote:
> The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT
> function to parser interrupt-map. So it doesn't consider '#address-size'
> in parent interrupt controller, such as GIC.
>
> When dt-binding verify interrupt-map, item data matrix is spitted at
> incorrect position. So cause below warning:
>
> arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14:
> interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ...
> is too short
>
> Reduce minItems and maxItems to workaround this warning for
> 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq.
> Other keep the same restriction.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> Change from v1 to v2
> - remove duplicate function in commit message
> - only reduce miniItems for after 1088a chips
> - maxItems change to 9. Otherwise report too long.
> ---
> .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++--
> 1 file changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml
> index 199b34fdbefc4..1bfced6ed620c 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml
> @@ -82,14 +82,37 @@ allOf:
> enum:
> - fsl,ls1043a-extirq
> - fsl,ls1046a-extirq
> + then:
> + properties:
> + interrupt-map:
> + minItems: 12
> + maxItems: 12
> + interrupt-map-mask:
> + items:
> + - const: 0xf
> + - const: 0
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> - fsl,ls1088a-extirq
> - fsl,ls2080a-extirq
> - fsl,lx2160a-extirq
> +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT
> +# function function to parser interrupt-map. So it doesn't consider
> +# '#address-size' in parent interrupt controller, such as GIC.
> +#
> +# When dt-binding verify interrupt-map, item data matrix is spitted at
> +# incorrect position. Reduce minItems and maxItems to workaround this
> +# problem.
> +
> then:
> properties:
> interrupt-map:
> - minItems: 12
> - maxItems: 12
> + minItems: 8
> + maxItems: 9

I think it is probably better to just not put in any constraints. It's
never going to be parsed correctly.

Rob