Subject: [RFT] arm64 dts: exynos: Fix invalid GIC interrupt flags in exynos7

From: [email-masked] (Krzysztof Kozlowski)
Date: Fri, 16 Sep 2016 22:22:03 +0200

On Fri, Sep 16, 2016 at 10:01:13PM +0200, Krzysztof Kozlowski wrote:
> Interrupt of type IRQ_TYPE_NONE is not allowed for GIC interrupts and
> generates an error:
> 	genirq: Setting trigger mode 0 for irq 16 failed (gic_set_type+0x0/0x68)
> 
> The GIC requires shared interrupts to be edge rising or level high.
> Platform declares support for both.  Choose level high everywhere.
> 
> Reported-by: Marek Szyprowski <[email-masked]>
> Reported-by: Geert Uytterhoeven <[email-masked]>
> Reported-by: Alban Browaeys <[email-masked]>
> Cc: Marc Zyngier <[email-masked]>
> Signed-off-by: Krzysztof Kozlowski <[email-masked]>
> ---
>  arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi | 20 +++++--
>  arch/arm64/boot/dts/exynos/exynos7.dtsi         | 69 +++++++++++++------------
>  2 files changed, 51 insertions(+), 38 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi b/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi
> index f77ddaf21d04..983c63ba38c8 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi
> @@ -20,8 +20,14 @@
>  		interrupt-controller;
>  		interrupt-parent = <&gic>;
>  		#interrupt-cells = <2>;
> -		interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
> -			     <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>;
> +		interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 1 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 2 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 3 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 4 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 5 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 6 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 7 IRQ_TYPE_LEVEL_HIGH>;
>  	};
>  
>  	gpa1: gpa1 {
> @@ -31,8 +37,14 @@
>  		interrupt-controller;
>  		interrupt-parent = <&gic>;
>  		#interrupt-cells = <2>;
> -		interrupts = <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
> -			     <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
> +		interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
> +			     <0 9 IRQ_TYPE_LEVEL_HIGH>

There is an obvious typo here... but beside that it compiles. It is
trivial so I won't resend now.

Best regards,
Krzysztof