2024-02-13 19:35:29

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 0/6] dts: Fix dtc interrupt warnings

I had a branch with most of these changes sitting in my tree for some
time. Geert's asking about some errors not getting found prompted me to
clean it up and send it out. This series fixes all* interrupt related
warnings and enables the check by default.

SoC maintainers, Can you please take this series directly.

Rob

*There's a few Renesas warnings still Geert said he would fix.

Signed-off-by: Rob Herring <[email protected]>
---
Rob Herring (6):
arm64: dts: freescale: Disable interrupt_map check
arm: dts: Fix dtc interrupt_provider warnings
arm64: dts: Fix dtc interrupt_provider warnings
arm: dts: Fix dtc interrupt_map warnings
arm64: dts: qcom: Fix interrupt-map cell sizes
dtc: Enable dtc interrupt_provider check

arch/arm/boot/dts/amazon/alpine.dtsi | 1 -
arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 14 --------------
arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 15 +--------------
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 18 ++----------------
arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi | 3 +++
arch/arm/boot/dts/broadcom/bcm-hr2.dtsi | 1 +
arch/arm/boot/dts/broadcom/bcm-nsp.dtsi | 2 ++
.../boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts | 2 ++
.../dts/intel/ixp/intel-ixp42x-goramo-multilink.dts | 2 ++
arch/arm/boot/dts/marvell/kirkwood-l-50.dts | 2 ++
arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi | 2 ++
arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi | 1 -
arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi | 1 -
arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts | 3 ---
arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi | 2 +-
arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi | 1 +
.../boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi | 1 +
arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts | 1 +
arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts | 1 +
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 8 ++++----
arch/arm/boot/dts/st/stm32429i-eval.dts | 1 -
arch/arm/boot/dts/st/stm32mp157c-dk2.dts | 1 -
arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts | 1 -
arch/arm64/boot/dts/amazon/alpine-v2.dtsi | 1 -
arch/arm64/boot/dts/amazon/alpine-v3.dtsi | 1 -
arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi | 1 +
arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi | 1 +
arch/arm64/boot/dts/freescale/Makefile | 19 +++++++++++++++++++
arch/arm64/boot/dts/lg/lg1312.dtsi | 1 -
arch/arm64/boot/dts/lg/lg1313.dtsi | 1 -
arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 1 -
arch/arm64/boot/dts/mediatek/mt8195-demo.dts | 1 +
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 8 ++++----
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 16 ++++++++--------
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 4 ++++
scripts/Makefile.lib | 3 +--
40 files changed, 65 insertions(+), 81 deletions(-)
---
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
change-id: 20240213-arm-dt-cleanups-76bb726de948

Best regards,
--
Rob Herring <[email protected]>



2024-02-13 19:36:04

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 1/6] arm64: dts: freescale: Disable interrupt_map check

Several Freescale Layerscape platforms extirq binding use a malformed
interrupt-map property missing parent address cells. These are
documented in of_irq_imap_abusers list in drivers/of/irq.c. In order to
enable dtc interrupt_map check tree wide, we need to disable it for
these platforms which will not be fixed (as that would break
compatibility).

Signed-off-by: Rob Herring <[email protected]>
---
arch/arm64/boot/dts/freescale/Makefile | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 2e027675d7bb..2cb0212b63c6 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -20,23 +20,41 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-frwy.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-rdb.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-tqmls1046a-mbls10xxa.dtb
+DTC_FLAGS_fsl-ls1088a-qds := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-qds.dtb
+DTC_FLAGS_fsl-ls1088a-rdb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-rdb.dtb
+DTC_FLAGS_fsl-ls1088a-ten64 := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-ten64.dtb
+DTC_FLAGS_fsl-ls1088a-tqmls1088a-mbls10xxa := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-tqmls1088a-mbls10xxa.dtb
+DTC_FLAGS_fsl-ls2080a-qds := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
+DTC_FLAGS_fsl-ls2080a-rdb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
+DTC_FLAGS_fsl-ls2081a-rdb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2081a-rdb.dtb
+DTC_FLAGS_fsl-ls2080a-simu := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
+DTC_FLAGS_fsl-ls2088a-qds := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
+DTC_FLAGS_fsl-ls2088a-rdb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
+DTC_FLAGS_fsl-lx2160a-bluebox3 := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-bluebox3.dtb
+DTC_FLAGS_fsl-lx2160a-bluebox3-rev-a := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-bluebox3-rev-a.dtb
+DTC_FLAGS_fsl-lx2160a-clearfog-cx := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-clearfog-cx.dtb
+DTC_FLAGS_fsl-lx2160a-honeycomb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-honeycomb.dtb
+DTC_FLAGS_fsl-lx2160a-qds := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
+DTC_FLAGS_fsl-lx2160a-rdb := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
+DTC_FLAGS_fsl-lx2162a-clearfog := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-clearfog.dtb
+DTC_FLAGS_fsl-lx2162a-qds := -Wno-interrupt_map
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb

fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
@@ -53,6 +71,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb

+DTC_FLAGS_fsl-lx2160a-tqmlx2160a-mblx2160a := -Wno-interrupt_map
fsl-lx2160a-tqmlx2160a-mblx2160a-12-11-x-dtbs := fsl-lx2160a-tqmlx2160a-mblx2160a.dtb \
fsl-lx2160a-tqmlx2160a-mblx2160a_12_x_x.dtbo \
fsl-lx2160a-tqmlx2160a-mblx2160a_x_11_x.dtbo

--
2.43.0


2024-02-13 19:36:15

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 2/6] arm: dts: Fix dtc interrupt_provider warnings

The dtc interrupt_provider warning is off by default. Fix all the warnings
so it can be enabled.

Signed-off-by: Rob Herring <[email protected]>
---
arch/arm/boot/dts/amazon/alpine.dtsi | 1 -
arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 14 --------------
arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 15 +--------------
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 18 ++----------------
arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi | 3 +++
arch/arm/boot/dts/broadcom/bcm-hr2.dtsi | 1 +
arch/arm/boot/dts/broadcom/bcm-nsp.dtsi | 2 ++
arch/arm/boot/dts/marvell/kirkwood-l-50.dts | 2 ++
arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi | 2 ++
arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi | 1 -
arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi | 1 -
arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts | 3 ---
arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi | 2 +-
arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi | 1 -
arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi | 1 +
.../boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi | 1 +
arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts | 1 +
arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts | 1 +
arch/arm/boot/dts/st/stm32429i-eval.dts | 1 -
arch/arm/boot/dts/st/stm32mp157c-dk2.dts | 1 -
arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts | 1 -
24 files changed, 18 insertions(+), 58 deletions(-)

diff --git a/arch/arm/boot/dts/amazon/alpine.dtsi b/arch/arm/boot/dts/amazon/alpine.dtsi
index ff68dfb4eb78..90bd12feac01 100644
--- a/arch/arm/boot/dts/amazon/alpine.dtsi
+++ b/arch/arm/boot/dts/amazon/alpine.dtsi
@@ -167,7 +167,6 @@ pcie@fbc00000 {
msix: msix@fbe00000 {
compatible = "al,alpine-msix";
reg = <0x0 0xfbe00000 0x0 0x100000>;
- interrupt-controller;
msi-controller;
al,msi-base-spi = <96>;
al,msi-num-spis = <64>;
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
index 530491ae5eb2..857cb26ed6d7 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
@@ -466,7 +466,6 @@ i2c_ic: interrupt-controller@0 {
i2c0: i2c-bus@40 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x40 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -482,7 +481,6 @@ i2c0: i2c-bus@40 {
i2c1: i2c-bus@80 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x80 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -498,7 +496,6 @@ i2c1: i2c-bus@80 {
i2c2: i2c-bus@c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0xc0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -515,7 +512,6 @@ i2c2: i2c-bus@c0 {
i2c3: i2c-bus@100 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x100 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -532,7 +528,6 @@ i2c3: i2c-bus@100 {
i2c4: i2c-bus@140 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x140 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -549,7 +544,6 @@ i2c4: i2c-bus@140 {
i2c5: i2c-bus@180 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x180 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -566,7 +560,6 @@ i2c5: i2c-bus@180 {
i2c6: i2c-bus@1c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x1c0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -583,7 +576,6 @@ i2c6: i2c-bus@1c0 {
i2c7: i2c-bus@300 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x300 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -600,7 +592,6 @@ i2c7: i2c-bus@300 {
i2c8: i2c-bus@340 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x340 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -617,7 +608,6 @@ i2c8: i2c-bus@340 {
i2c9: i2c-bus@380 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x380 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -634,7 +624,6 @@ i2c9: i2c-bus@380 {
i2c10: i2c-bus@3c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x3c0 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -651,7 +640,6 @@ i2c10: i2c-bus@3c0 {
i2c11: i2c-bus@400 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x400 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -668,7 +656,6 @@ i2c11: i2c-bus@400 {
i2c12: i2c-bus@440 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x440 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
@@ -685,7 +672,6 @@ i2c12: i2c-bus@440 {
i2c13: i2c-bus@480 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x480 0x40>;
compatible = "aspeed,ast2400-i2c-bus";
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
index 04f98d1dbb97..e6f3cf3c721e 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
@@ -363,6 +363,7 @@ sgpio: sgpio@1e780200 {
interrupts = <40>;
reg = <0x1e780200 0x0100>;
clocks = <&syscon ASPEED_CLK_APB>;
+ #interrupt-cells = <2>;
interrupt-controller;
bus-frequency = <12000000>;
pinctrl-names = "default";
@@ -594,7 +595,6 @@ i2c_ic: interrupt-controller@0 {
i2c0: i2c-bus@40 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x40 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -610,7 +610,6 @@ i2c0: i2c-bus@40 {
i2c1: i2c-bus@80 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x80 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -626,7 +625,6 @@ i2c1: i2c-bus@80 {
i2c2: i2c-bus@c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0xc0 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -643,7 +641,6 @@ i2c2: i2c-bus@c0 {
i2c3: i2c-bus@100 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x100 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -660,7 +657,6 @@ i2c3: i2c-bus@100 {
i2c4: i2c-bus@140 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x140 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -677,7 +673,6 @@ i2c4: i2c-bus@140 {
i2c5: i2c-bus@180 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x180 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -694,7 +689,6 @@ i2c5: i2c-bus@180 {
i2c6: i2c-bus@1c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x1c0 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -711,7 +705,6 @@ i2c6: i2c-bus@1c0 {
i2c7: i2c-bus@300 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x300 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -728,7 +721,6 @@ i2c7: i2c-bus@300 {
i2c8: i2c-bus@340 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x340 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -745,7 +737,6 @@ i2c8: i2c-bus@340 {
i2c9: i2c-bus@380 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x380 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -762,7 +753,6 @@ i2c9: i2c-bus@380 {
i2c10: i2c-bus@3c0 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x3c0 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -779,7 +769,6 @@ i2c10: i2c-bus@3c0 {
i2c11: i2c-bus@400 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x400 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -796,7 +785,6 @@ i2c11: i2c-bus@400 {
i2c12: i2c-bus@440 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x440 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
@@ -813,7 +801,6 @@ i2c12: i2c-bus@440 {
i2c13: i2c-bus@480 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;

reg = <0x480 0x40>;
compatible = "aspeed,ast2500-i2c-bus";
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index c4d1faade8be..29f94696d8b1 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -474,6 +474,7 @@ sgpiom0: sgpiom@1e780500 {
reg = <0x1e780500 0x100>;
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&syscon ASPEED_CLK_APB2>;
+ #interrupt-cells = <2>;
interrupt-controller;
bus-frequency = <12000000>;
pinctrl-names = "default";
@@ -488,6 +489,7 @@ sgpiom1: sgpiom@1e780600 {
reg = <0x1e780600 0x100>;
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&syscon ASPEED_CLK_APB2>;
+ #interrupt-cells = <2>;
interrupt-controller;
bus-frequency = <12000000>;
pinctrl-names = "default";
@@ -902,7 +904,6 @@ &i2c {
i2c0: i2c-bus@80 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x80 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -917,7 +918,6 @@ i2c0: i2c-bus@80 {
i2c1: i2c-bus@100 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x100 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -932,7 +932,6 @@ i2c1: i2c-bus@100 {
i2c2: i2c-bus@180 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x180 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -947,7 +946,6 @@ i2c2: i2c-bus@180 {
i2c3: i2c-bus@200 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x200 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -962,7 +960,6 @@ i2c3: i2c-bus@200 {
i2c4: i2c-bus@280 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x280 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -977,7 +974,6 @@ i2c4: i2c-bus@280 {
i2c5: i2c-bus@300 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x300 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -992,7 +988,6 @@ i2c5: i2c-bus@300 {
i2c6: i2c-bus@380 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x380 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1007,7 +1002,6 @@ i2c6: i2c-bus@380 {
i2c7: i2c-bus@400 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x400 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1022,7 +1016,6 @@ i2c7: i2c-bus@400 {
i2c8: i2c-bus@480 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x480 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1037,7 +1030,6 @@ i2c8: i2c-bus@480 {
i2c9: i2c-bus@500 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x500 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1052,7 +1044,6 @@ i2c9: i2c-bus@500 {
i2c10: i2c-bus@580 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x580 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1067,7 +1058,6 @@ i2c10: i2c-bus@580 {
i2c11: i2c-bus@600 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x600 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1082,7 +1072,6 @@ i2c11: i2c-bus@600 {
i2c12: i2c-bus@680 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x680 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1097,7 +1086,6 @@ i2c12: i2c-bus@680 {
i2c13: i2c-bus@700 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x700 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1112,7 +1100,6 @@ i2c13: i2c-bus@700 {
i2c14: i2c-bus@780 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x780 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
@@ -1127,7 +1114,6 @@ i2c14: i2c-bus@780 {
i2c15: i2c-bus@800 {
#address-cells = <1>;
#size-cells = <0>;
- #interrupt-cells = <1>;
reg = <0x800 0x80>;
compatible = "aspeed,ast2600-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB2>;
diff --git a/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi b/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
index f9f79ed82518..07ca0d993c9f 100644
--- a/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
@@ -167,6 +167,7 @@ gpio_crmu: gpio@3024800 {
#gpio-cells = <2>;
gpio-controller;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupt-parent = <&mailbox>;
interrupts = <0>;
};
@@ -247,6 +248,7 @@ gpio_ccm: gpio@1800a000 {
gpio-controller;
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
+ #interrupt-cells = <2>;
};

i2c1: i2c@1800b000 {
@@ -518,6 +520,7 @@ gpio_asiu: gpio@180a5000 {
gpio-controller;

interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
gpio-ranges = <&pinctrl 0 42 1>,
<&pinctrl 1 44 3>,
diff --git a/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi b/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
index 788a6806191a..75545b10ef2f 100644
--- a/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
@@ -200,6 +200,7 @@ gpiob: gpio@30000 {
gpio-controller;
ngpios = <4>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
};

diff --git a/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi b/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
index 9d20ba3b1ffb..6a4482c93167 100644
--- a/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
@@ -180,6 +180,7 @@ gpioa: gpio@20 {
gpio-controller;
ngpios = <32>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
gpio-ranges = <&pinctrl 0 0 32>;
};
@@ -352,6 +353,7 @@ gpiob: gpio@30000 {
gpio-controller;
ngpios = <4>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
};

diff --git a/arch/arm/boot/dts/marvell/kirkwood-l-50.dts b/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
index dffb9f84e67c..c841eb8e7fb1 100644
--- a/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
+++ b/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
@@ -65,6 +65,7 @@ i2c@11000 {
gpio2: gpio-expander@20 {
#gpio-cells = <2>;
#interrupt-cells = <2>;
+ interrupt-controller;
compatible = "semtech,sx1505q";
reg = <0x20>;

@@ -79,6 +80,7 @@ gpio2: gpio-expander@20 {
gpio3: gpio-expander@21 {
#gpio-cells = <2>;
#interrupt-cells = <2>;
+ interrupt-controller;
compatible = "semtech,sx1505q";
reg = <0x21>;

diff --git a/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi b/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
index fd671c7a1e5d..6e1f0f164cb4 100644
--- a/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
+++ b/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
@@ -120,6 +120,7 @@ gpio0: gpio@0 {
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
<3 IRQ_TYPE_LEVEL_HIGH>,
<4 IRQ_TYPE_LEVEL_HIGH>;
+ #interrupt-cells = <2>;
interrupt-controller;
};

@@ -128,6 +129,7 @@ gpio1: gpio@1 {
gpio-controller;
#gpio-cells = <2>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+ #interrupt-cells = <2>;
interrupt-controller;
};

diff --git a/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi b/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
index 1640763fd4af..ff0d684622f7 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
@@ -997,7 +997,6 @@ touchscreen@41 {
compatible = "st,stmpe811";
reg = <0x41>;
irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
- interrupt-controller;
id = <0>;
blocks = <0x5>;
irq-trigger = <0x1>;
diff --git a/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi b/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
index 3b6fad273cab..d38f1dd38a90 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
@@ -980,7 +980,6 @@ touchscreen@41 {
compatible = "st,stmpe811";
reg = <0x41>;
irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
- interrupt-controller;
id = <0>;
blocks = <0x5>;
irq-trigger = <0x1>;
diff --git a/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi b/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
index 4eb526fe9c55..81c8a5fd92cc 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
@@ -861,7 +861,6 @@ touchscreen@41 {
compatible = "st,stmpe811";
reg = <0x41>;
irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
- interrupt-controller;
id = <0>;
blocks = <0x5>;
irq-trigger = <0x1>;
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts b/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
index db8c332df6a1..cad112e05475 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
@@ -227,7 +227,6 @@ bridge@1,0 {

#address-cells = <3>;
#size-cells = <2>;
- #interrupt-cells = <1>;

bridge@2,1 {
compatible = "pci10b5,8605";
@@ -235,7 +234,6 @@ bridge@2,1 {

#address-cells = <3>;
#size-cells = <2>;
- #interrupt-cells = <1>;

/* Intel Corporation I210 Gigabit Network Connection */
ethernet@3,0 {
@@ -250,7 +248,6 @@ bridge@2,2 {

#address-cells = <3>;
#size-cells = <2>;
- #interrupt-cells = <1>;

/* Intel Corporation I210 Gigabit Network Connection */
switch_nic: ethernet@4,0 {
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
index 99f4f6ac71d4..c1ae7c47b442 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
@@ -245,6 +245,7 @@ pca9539: pca9539@74 {
reg = <0x74>;
gpio-controller;
#gpio-cells = <2>;
+ #interrupt-cells = <2>;
interrupt-controller;
interrupt-parent = <&gpio2>;
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
@@ -390,7 +391,6 @@ pci_root: root@0,0 {

#address-cells = <3>;
#size-cells = <2>;
- #interrupt-cells = <1>;
};
};

diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
index 2ae93f57fe5a..ea40623d12e5 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
@@ -626,7 +626,6 @@ stmpe811@41 {
blocks = <0x5>;
id = <0>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
- interrupt-controller;
interrupt-parent = <&gpio4>;
irq-trigger = <0x1>;
pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
index 55c90f6393ad..d3a7a6eeb8e0 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
@@ -550,7 +550,6 @@ stmpe811@41 {
blocks = <0x5>;
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&gpio6>;
- interrupt-controller;
id = <0>;
irq-trigger = <0x1>;
pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
index a63e73adc1fc..42b2ba23aefc 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
@@ -225,7 +225,6 @@ da9063: pmic@58 {
pinctrl-0 = <&pinctrl_pmic>;
interrupt-parent = <&gpio2>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
- interrupt-controller;

onkey {
compatible = "dlg,da9063-onkey";
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
index 113974520d54..c0c47adc5866 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
@@ -124,6 +124,7 @@ pmic@58 {
reg = <0x58>;
interrupt-parent = <&gpio2>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>; /* active-low GPIO2_9 */
+ #interrupt-cells = <2>;
interrupt-controller;

regulators {
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
index 86b4269e0e01..85e278eb2016 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
@@ -100,6 +100,7 @@ pmic: pmic@58 {
interrupt-parent = <&gpio1>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
+ #interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;

diff --git a/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts b/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
index 12361fcbe24a..1b965652291b 100644
--- a/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
@@ -63,6 +63,7 @@ pca9554: io-expander@25 {
gpio-controller;
#gpio-cells = <2>;
#interrupt-cells = <2>;
+ interrupt-controller;
reg = <0x25>;
};

diff --git a/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts b/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
index b0ed68af0546..029f49be40e3 100644
--- a/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
+++ b/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
@@ -338,6 +338,7 @@ gpio6: io-expander@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
+ #interrupt-cells = <2>;
interrupt-controller;
interrupt-parent = <&gpio3>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
diff --git a/arch/arm/boot/dts/st/stm32429i-eval.dts b/arch/arm/boot/dts/st/stm32429i-eval.dts
index 576235ec3c51..afa417b34b25 100644
--- a/arch/arm/boot/dts/st/stm32429i-eval.dts
+++ b/arch/arm/boot/dts/st/stm32429i-eval.dts
@@ -222,7 +222,6 @@ stmpe1600: stmpe1600@42 {
reg = <0x42>;
interrupts = <8 3>;
interrupt-parent = <&gpioi>;
- interrupt-controller;
wakeup-source;

stmpegpio: stmpe_gpio {
diff --git a/arch/arm/boot/dts/st/stm32mp157c-dk2.dts b/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
index 510cca5acb79..7a701f7ef0c7 100644
--- a/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
+++ b/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
@@ -64,7 +64,6 @@ touchscreen@38 {
reg = <0x38>;
interrupts = <2 2>;
interrupt-parent = <&gpiof>;
- interrupt-controller;
touchscreen-size-x = <480>;
touchscreen-size-y = <800>;
status = "okay";
diff --git a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
index c8e55642f9c6..3e834fc7e370 100644
--- a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
+++ b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
@@ -415,7 +415,6 @@ stmpe811@41 {
reg = <0x41>;
interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
interrupt-parent = <&gpio2>;
- interrupt-controller;
id = <0>;
blocks = <0x5>;
irq-trigger = <0x1>;

--
2.43.0


2024-02-13 19:36:22

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 3/6] arm64: dts: Fix dtc interrupt_provider warnings

The dtc interrupt_provider warning is off by default. Fix all the warnings
so it can be enabled.

Signed-off-by: Rob Herring <[email protected]>
---
arch/arm64/boot/dts/amazon/alpine-v2.dtsi | 1 -
arch/arm64/boot/dts/amazon/alpine-v3.dtsi | 1 -
arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi | 1 +
arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi | 1 +
arch/arm64/boot/dts/lg/lg1312.dtsi | 1 -
arch/arm64/boot/dts/lg/lg1313.dtsi | 1 -
arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 1 -
arch/arm64/boot/dts/mediatek/mt8195-demo.dts | 1 +
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 4 ++++
9 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/amazon/alpine-v2.dtsi b/arch/arm64/boot/dts/amazon/alpine-v2.dtsi
index dccbba6e7f98..dbf2dce8d1d6 100644
--- a/arch/arm64/boot/dts/amazon/alpine-v2.dtsi
+++ b/arch/arm64/boot/dts/amazon/alpine-v2.dtsi
@@ -145,7 +145,6 @@ pci@fbc00000 {
msix: msix@fbe00000 {
compatible = "al,alpine-msix";
reg = <0x0 0xfbe00000 0x0 0x100000>;
- interrupt-controller;
msi-controller;
al,msi-base-spi = <160>;
al,msi-num-spis = <160>;
diff --git a/arch/arm64/boot/dts/amazon/alpine-v3.dtsi b/arch/arm64/boot/dts/amazon/alpine-v3.dtsi
index 39481d7fd7d4..3ea178acdddf 100644
--- a/arch/arm64/boot/dts/amazon/alpine-v3.dtsi
+++ b/arch/arm64/boot/dts/amazon/alpine-v3.dtsi
@@ -355,7 +355,6 @@ pcie@fbd00000 {
msix: msix@fbe00000 {
compatible = "al,alpine-msix";
reg = <0x0 0xfbe00000 0x0 0x100000>;
- interrupt-controller;
msi-controller;
al,msi-base-spi = <336>;
al,msi-num-spis = <959>;
diff --git a/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi b/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi
index 9dcd25ec2c04..896d1f33b5b6 100644
--- a/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi
+++ b/arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi
@@ -586,6 +586,7 @@ gpio_g: gpio@660a0000 {
#gpio-cells = <2>;
gpio-controller;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>;
};

diff --git a/arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi b/arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi
index f049687d6b96..d8516ec0dae7 100644
--- a/arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi
+++ b/arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi
@@ -450,6 +450,7 @@ gpio_hsls: gpio@d0000 {
#gpio-cells = <2>;
gpio-controller;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
gpio-ranges = <&pinmux 0 0 16>,
<&pinmux 16 71 2>,
diff --git a/arch/arm64/boot/dts/lg/lg1312.dtsi b/arch/arm64/boot/dts/lg/lg1312.dtsi
index 48ec4ebec0a8..b864ffa74ea8 100644
--- a/arch/arm64/boot/dts/lg/lg1312.dtsi
+++ b/arch/arm64/boot/dts/lg/lg1312.dtsi
@@ -126,7 +126,6 @@ eth0: ethernet@c1b00000 {
amba {
#address-cells = <2>;
#size-cells = <1>;
- #interrupt-cells = <3>;

compatible = "simple-bus";
interrupt-parent = <&gic>;
diff --git a/arch/arm64/boot/dts/lg/lg1313.dtsi b/arch/arm64/boot/dts/lg/lg1313.dtsi
index 3869460aa5dc..996fb39bb50c 100644
--- a/arch/arm64/boot/dts/lg/lg1313.dtsi
+++ b/arch/arm64/boot/dts/lg/lg1313.dtsi
@@ -126,7 +126,6 @@ eth0: ethernet@c3700000 {
amba {
#address-cells = <2>;
#size-cells = <1>;
- #interrupt-cells = <3>;

compatible = "simple-bus";
interrupt-parent = <&gic>;
diff --git a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
index 2c920e22cec2..7ec7c789d87e 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
@@ -138,7 +138,6 @@ pmu {

odmi: odmi@300000 {
compatible = "marvell,odmi-controller";
- interrupt-controller;
msi-controller;
marvell,odmi-frames = <4>;
reg = <0x300000 0x4000>,
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-demo.dts b/arch/arm64/boot/dts/mediatek/mt8195-demo.dts
index 69c7f3954ae5..4127cb84eba4 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-demo.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8195-demo.dts
@@ -128,6 +128,7 @@ mt6360: pmic@34 {
compatible = "mediatek,mt6360";
reg = <0x34>;
interrupt-controller;
+ #interrupt-cells = <1>;
interrupts-extended = <&pio 101 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "IRQB";

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 3885ef3454ff..50de17e4fb3f 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -234,6 +234,7 @@ gpio_exp_74: gpio@74 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupt-parent = <&gpio6>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;

@@ -294,6 +295,7 @@ gpio_exp_75: gpio@75 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupt-parent = <&gpio6>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
};
@@ -314,6 +316,7 @@ gpio_exp_76: gpio@76 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupt-parent = <&gpio7>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
};
@@ -324,6 +327,7 @@ gpio_exp_77: gpio@77 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
+ #interrupt-cells = <2>;
interrupt-parent = <&gpio5>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
};

--
2.43.0


2024-02-13 19:37:29

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 4/6] arm: dts: Fix dtc interrupt_map warnings

The dtc interrupt_map warning is off because its dependency,
interrupt_provider, is off by default. Fix all the warnings so it can be
enabled.

Signed-off-by: Rob Herring <[email protected]>
---
arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts | 2 ++
arch/arm/boot/dts/intel/ixp/intel-ixp42x-goramo-multilink.dts | 2 ++
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 8 ++++----
3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts
index 4d70f6afd13a..6d5e69035f94 100644
--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts
+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateway-7001.dts
@@ -60,6 +60,8 @@ pci@c0000000 {
* We have slots (IDSEL) 1 and 2 with one assigned IRQ
* each handling all IRQs.
*/
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
/* IDSEL 1 */
<0x0800 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 11 */
diff --git a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-goramo-multilink.dts b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-goramo-multilink.dts
index 9ec0169bacf8..5f4c849915db 100644
--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-goramo-multilink.dts
+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-goramo-multilink.dts
@@ -89,6 +89,8 @@ pci@c0000000 {
* The slots have Ethernet, Ethernet, NEC and MPCI.
* The IDSELs are 11, 12, 13, 14.
*/
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
/* IDSEL 11 - Ethernet A */
<0x5800 0 0 1 &gpio0 4 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 11 is irq 4 */
diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
index 2045fc779f88..27429d0fedfb 100644
--- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
@@ -340,10 +340,10 @@ pcie_rc: pcie@1c00000 {
"msi8";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
- interrupt-map = <0 0 0 1 &intc 0 0 0 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
- <0 0 0 2 &intc 0 0 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
- <0 0 0 3 &intc 0 0 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
- <0 0 0 4 &intc 0 0 0 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+ interrupt-map = <0 0 0 1 &intc 0 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+ <0 0 0 2 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+ <0 0 0 3 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+ <0 0 0 4 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */

clocks = <&gcc GCC_PCIE_PIPE_CLK>,
<&gcc GCC_PCIE_AUX_CLK>,

--
2.43.0


2024-02-13 19:37:59

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 5/6] arm64: dts: qcom: Fix interrupt-map cell sizes

The PCI node interrupt-map properties have the wrong size as #address-cells
in the interrupt parent are not accounted for.

The dtc interrupt_map check catches this, but the warning is off because
its dependency, interrupt_provider, is off by default.

Signed-off-by: Rob Herring <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 8 ++++----
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 16 ++++++++--------
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index 5e1277fea725..61c8fd49c966 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -830,10 +830,10 @@ pcie0: pcie@20000000 {

#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
- interrupt-map = <0 0 0 1 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
- <0 0 0 2 &intc 0 78 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
- <0 0 0 3 &intc 0 79 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
- <0 0 0 4 &intc 0 83 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+ interrupt-map = <0 0 0 1 &intc 0 0 0 75 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+ <0 0 0 2 &intc 0 0 0 78 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+ <0 0 0 3 &intc 0 0 0 79 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+ <0 0 0 4 &intc 0 0 0 83 IRQ_TYPE_LEVEL_HIGH>; /* int_d */

clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
<&gcc GCC_PCIE0_AXI_M_CLK>,
diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index cf295bed3299..26441447c866 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -814,13 +814,13 @@ pcie1: pcie@10000000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
- interrupt-map = <0 0 0 1 &intc 0 142
+ interrupt-map = <0 0 0 1 &intc 0 0 142
IRQ_TYPE_LEVEL_HIGH>, /* int_a */
- <0 0 0 2 &intc 0 143
+ <0 0 0 2 &intc 0 0 143
IRQ_TYPE_LEVEL_HIGH>, /* int_b */
- <0 0 0 3 &intc 0 144
+ <0 0 0 3 &intc 0 0 144
IRQ_TYPE_LEVEL_HIGH>, /* int_c */
- <0 0 0 4 &intc 0 145
+ <0 0 0 4 &intc 0 0 145
IRQ_TYPE_LEVEL_HIGH>; /* int_d */

clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
@@ -876,13 +876,13 @@ pcie0: pcie@20000000 {
interrupt-names = "msi";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
- interrupt-map = <0 0 0 1 &intc 0 75
+ interrupt-map = <0 0 0 1 &intc 0 0 75
IRQ_TYPE_LEVEL_HIGH>, /* int_a */
- <0 0 0 2 &intc 0 78
+ <0 0 0 2 &intc 0 0 78
IRQ_TYPE_LEVEL_HIGH>, /* int_b */
- <0 0 0 3 &intc 0 79
+ <0 0 0 3 &intc 0 0 79
IRQ_TYPE_LEVEL_HIGH>, /* int_c */
- <0 0 0 4 &intc 0 83
+ <0 0 0 4 &intc 0 0 83
IRQ_TYPE_LEVEL_HIGH>; /* int_d */

clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,

--
2.43.0


2024-02-13 19:38:09

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH 6/6] dtc: Enable dtc interrupt_provider check

Now that all the interrupt warnings have been fixed, enable
'interrupt_provider' check by default. This will also enable
'interrupt_map' check.

Signed-off-by: Rob Herring <[email protected]>
---
scripts/Makefile.lib | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index cd5b181060f1..fce35e4657f5 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -340,7 +340,7 @@ quiet_cmd_gzip = GZIP $@
# DTC
# ---------------------------------------------------------------------------
DTC ?= $(objtree)/scripts/dtc/dtc
-DTC_FLAGS += -Wno-interrupt_provider \
+DTC_FLAGS += \
-Wno-unique_unit_address

# Disable noisy checks by default
@@ -358,7 +358,6 @@ endif
ifneq ($(findstring 2,$(KBUILD_EXTRA_WARN)),)
DTC_FLAGS += -Wnode_name_chars_strict \
-Wproperty_name_chars_strict \
- -Winterrupt_provider \
-Wunique_unit_address
endif


--
2.43.0


2024-02-13 20:27:16

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH 0/6] dts: Fix dtc interrupt warnings

On Tue, Feb 13, 2024 at 01:34:24PM -0600, Rob Herring wrote:
> I had a branch with most of these changes sitting in my tree for some
> time. Geert's asking about some errors not getting found prompted me to
> clean it up and send it out. This series fixes all* interrupt related
> warnings and enables the check by default.
>
> SoC maintainers, Can you please take this series directly.
>
> Rob
>
> *There's a few Renesas warnings still Geert said he would fix.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> Rob Herring (6):
> arm64: dts: freescale: Disable interrupt_map check
> arm: dts: Fix dtc interrupt_provider warnings
> arm64: dts: Fix dtc interrupt_provider warnings
> arm: dts: Fix dtc interrupt_map warnings
> arm64: dts: qcom: Fix interrupt-map cell sizes
> dtc: Enable dtc interrupt_provider check

Only fixing it for arm, Sadge.

Co-incidentally I noticed there was one for riscv while looking at
Krzysztof's underscore in node name patch earlier, so I'd already
written a patch to fix it :)


Attachments:
(No filename) (1.06 kB)
signature.asc (235.00 B)
Download all attachments

2024-02-13 20:57:08

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 0/6] dts: Fix dtc interrupt warnings

On Tue, Feb 13, 2024 at 2:27 PM Conor Dooley <[email protected]> wrote:
>
> On Tue, Feb 13, 2024 at 01:34:24PM -0600, Rob Herring wrote:
> > I had a branch with most of these changes sitting in my tree for some
> > time. Geert's asking about some errors not getting found prompted me to
> > clean it up and send it out. This series fixes all* interrupt related
> > warnings and enables the check by default.
> >
> > SoC maintainers, Can you please take this series directly.
> >
> > Rob
> >
> > *There's a few Renesas warnings still Geert said he would fix.
> >
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > Rob Herring (6):
> > arm64: dts: freescale: Disable interrupt_map check
> > arm: dts: Fix dtc interrupt_provider warnings
> > arm64: dts: Fix dtc interrupt_provider warnings
> > arm: dts: Fix dtc interrupt_map warnings
> > arm64: dts: qcom: Fix interrupt-map cell sizes
> > dtc: Enable dtc interrupt_provider check
>
> Only fixing it for arm, Sadge.

I was assuming you had things in order. ;)

> Co-incidentally I noticed there was one for riscv while looking at
> Krzysztof's underscore in node name patch earlier, so I'd already
> written a patch to fix it :)

See, I was right.

Actually, I did remember to check right after I sent this and noticed the same.

For powerpc, no one else can be bothered to care, so neither do I. I
think powerpc has been spewing dtc warnings by default for some time
now.

Rob

2024-02-13 21:48:44

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 4/6] arm: dts: Fix dtc interrupt_map warnings

On Tue, Feb 13, 2024 at 8:35 PM Rob Herring <[email protected]> wrote:

> The dtc interrupt_map warning is off because its dependency,
> interrupt_provider, is off by default. Fix all the warnings so it can be
> enabled.
>
> Signed-off-by: Rob Herring <[email protected]>

Thanks for doing this Rob! The schemas finds so many mistakes...
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2024-02-13 22:46:16

by Andrew Jeffery

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: Fix dtc interrupt_provider warnings

On Tue, 2024-02-13 at 13:34 -0600, Rob Herring wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> arch/arm/boot/dts/amazon/alpine.dtsi | 1 -
> arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 14 --------------
> arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 15 +--------------
> arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 18 ++----------------

I wrote a very similar patch just a day or so ago, so thanks :)

For the Aspeed portions:

Reviewed-by: Andrew Jeffery <[email protected]>

Subject: Re: [PATCH 3/6] arm64: dts: Fix dtc interrupt_provider warnings

Il 13/02/24 20:34, Rob Herring ha scritto:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>

Reviewed-By: AngeloGioacchino Del Regno <[email protected]> #
MediaTek


2024-02-14 13:22:01

by Alexandre TORGUE

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: Fix dtc interrupt_provider warnings

Hi Rob

On 2/13/24 20:34, Rob Herring wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> arch/arm/boot/dts/amazon/alpine.dtsi | 1 -
> arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 14 --------------
> arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 15 +--------------
> arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 18 ++----------------
> arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi | 3 +++
> arch/arm/boot/dts/broadcom/bcm-hr2.dtsi | 1 +
> arch/arm/boot/dts/broadcom/bcm-nsp.dtsi | 2 ++
> arch/arm/boot/dts/marvell/kirkwood-l-50.dts | 2 ++
> arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi | 2 ++
> arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi | 1 -
> arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi | 1 -
> arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi | 1 -
> arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts | 3 ---
> arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi | 2 +-
> arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi | 1 -
> arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi | 1 -
> arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi | 1 -
> arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi | 1 +
> .../boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi | 1 +
> arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts | 1 +
> arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts | 1 +
> arch/arm/boot/dts/st/stm32429i-eval.dts | 1 -
> arch/arm/boot/dts/st/stm32mp157c-dk2.dts | 1 -
> arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts | 1 -
> 24 files changed, 18 insertions(+), 58 deletions(-)
>

For ST part:

Reviewed-by: Alexandre Torgue <[email protected]>

Thanks
Alex


> diff --git a/arch/arm/boot/dts/amazon/alpine.dtsi b/arch/arm/boot/dts/amazon/alpine.dtsi
> index ff68dfb4eb78..90bd12feac01 100644
> --- a/arch/arm/boot/dts/amazon/alpine.dtsi
> +++ b/arch/arm/boot/dts/amazon/alpine.dtsi
> @@ -167,7 +167,6 @@ pcie@fbc00000 {
> msix: msix@fbe00000 {
> compatible = "al,alpine-msix";
> reg = <0x0 0xfbe00000 0x0 0x100000>;
> - interrupt-controller;
> msi-controller;
> al,msi-base-spi = <96>;
> al,msi-num-spis = <64>;
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
> index 530491ae5eb2..857cb26ed6d7 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
> +++ b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
> @@ -466,7 +466,6 @@ i2c_ic: interrupt-controller@0 {
> i2c0: i2c-bus@40 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x40 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -482,7 +481,6 @@ i2c0: i2c-bus@40 {
> i2c1: i2c-bus@80 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x80 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -498,7 +496,6 @@ i2c1: i2c-bus@80 {
> i2c2: i2c-bus@c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0xc0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -515,7 +512,6 @@ i2c2: i2c-bus@c0 {
> i2c3: i2c-bus@100 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x100 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -532,7 +528,6 @@ i2c3: i2c-bus@100 {
> i2c4: i2c-bus@140 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x140 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -549,7 +544,6 @@ i2c4: i2c-bus@140 {
> i2c5: i2c-bus@180 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x180 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -566,7 +560,6 @@ i2c5: i2c-bus@180 {
> i2c6: i2c-bus@1c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x1c0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -583,7 +576,6 @@ i2c6: i2c-bus@1c0 {
> i2c7: i2c-bus@300 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x300 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -600,7 +592,6 @@ i2c7: i2c-bus@300 {
> i2c8: i2c-bus@340 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x340 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -617,7 +608,6 @@ i2c8: i2c-bus@340 {
> i2c9: i2c-bus@380 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x380 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -634,7 +624,6 @@ i2c9: i2c-bus@380 {
> i2c10: i2c-bus@3c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x3c0 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -651,7 +640,6 @@ i2c10: i2c-bus@3c0 {
> i2c11: i2c-bus@400 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x400 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -668,7 +656,6 @@ i2c11: i2c-bus@400 {
> i2c12: i2c-bus@440 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x440 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> @@ -685,7 +672,6 @@ i2c12: i2c-bus@440 {
> i2c13: i2c-bus@480 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x480 0x40>;
> compatible = "aspeed,ast2400-i2c-bus";
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
> index 04f98d1dbb97..e6f3cf3c721e 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
> +++ b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
> @@ -363,6 +363,7 @@ sgpio: sgpio@1e780200 {
> interrupts = <40>;
> reg = <0x1e780200 0x0100>;
> clocks = <&syscon ASPEED_CLK_APB>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> bus-frequency = <12000000>;
> pinctrl-names = "default";
> @@ -594,7 +595,6 @@ i2c_ic: interrupt-controller@0 {
> i2c0: i2c-bus@40 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x40 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -610,7 +610,6 @@ i2c0: i2c-bus@40 {
> i2c1: i2c-bus@80 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x80 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -626,7 +625,6 @@ i2c1: i2c-bus@80 {
> i2c2: i2c-bus@c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0xc0 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -643,7 +641,6 @@ i2c2: i2c-bus@c0 {
> i2c3: i2c-bus@100 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x100 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -660,7 +657,6 @@ i2c3: i2c-bus@100 {
> i2c4: i2c-bus@140 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x140 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -677,7 +673,6 @@ i2c4: i2c-bus@140 {
> i2c5: i2c-bus@180 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x180 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -694,7 +689,6 @@ i2c5: i2c-bus@180 {
> i2c6: i2c-bus@1c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x1c0 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -711,7 +705,6 @@ i2c6: i2c-bus@1c0 {
> i2c7: i2c-bus@300 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x300 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -728,7 +721,6 @@ i2c7: i2c-bus@300 {
> i2c8: i2c-bus@340 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x340 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -745,7 +737,6 @@ i2c8: i2c-bus@340 {
> i2c9: i2c-bus@380 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x380 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -762,7 +753,6 @@ i2c9: i2c-bus@380 {
> i2c10: i2c-bus@3c0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x3c0 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -779,7 +769,6 @@ i2c10: i2c-bus@3c0 {
> i2c11: i2c-bus@400 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x400 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -796,7 +785,6 @@ i2c11: i2c-bus@400 {
> i2c12: i2c-bus@440 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x440 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> @@ -813,7 +801,6 @@ i2c12: i2c-bus@440 {
> i2c13: i2c-bus@480 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
>
> reg = <0x480 0x40>;
> compatible = "aspeed,ast2500-i2c-bus";
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
> index c4d1faade8be..29f94696d8b1 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
> +++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
> @@ -474,6 +474,7 @@ sgpiom0: sgpiom@1e780500 {
> reg = <0x1e780500 0x100>;
> interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&syscon ASPEED_CLK_APB2>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> bus-frequency = <12000000>;
> pinctrl-names = "default";
> @@ -488,6 +489,7 @@ sgpiom1: sgpiom@1e780600 {
> reg = <0x1e780600 0x100>;
> interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&syscon ASPEED_CLK_APB2>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> bus-frequency = <12000000>;
> pinctrl-names = "default";
> @@ -902,7 +904,6 @@ &i2c {
> i2c0: i2c-bus@80 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x80 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -917,7 +918,6 @@ i2c0: i2c-bus@80 {
> i2c1: i2c-bus@100 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x100 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -932,7 +932,6 @@ i2c1: i2c-bus@100 {
> i2c2: i2c-bus@180 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x180 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -947,7 +946,6 @@ i2c2: i2c-bus@180 {
> i2c3: i2c-bus@200 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x200 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -962,7 +960,6 @@ i2c3: i2c-bus@200 {
> i2c4: i2c-bus@280 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x280 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -977,7 +974,6 @@ i2c4: i2c-bus@280 {
> i2c5: i2c-bus@300 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x300 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -992,7 +988,6 @@ i2c5: i2c-bus@300 {
> i2c6: i2c-bus@380 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x380 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1007,7 +1002,6 @@ i2c6: i2c-bus@380 {
> i2c7: i2c-bus@400 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x400 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1022,7 +1016,6 @@ i2c7: i2c-bus@400 {
> i2c8: i2c-bus@480 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x480 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1037,7 +1030,6 @@ i2c8: i2c-bus@480 {
> i2c9: i2c-bus@500 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x500 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1052,7 +1044,6 @@ i2c9: i2c-bus@500 {
> i2c10: i2c-bus@580 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x580 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1067,7 +1058,6 @@ i2c10: i2c-bus@580 {
> i2c11: i2c-bus@600 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x600 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1082,7 +1072,6 @@ i2c11: i2c-bus@600 {
> i2c12: i2c-bus@680 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x680 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1097,7 +1086,6 @@ i2c12: i2c-bus@680 {
> i2c13: i2c-bus@700 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x700 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1112,7 +1100,6 @@ i2c13: i2c-bus@700 {
> i2c14: i2c-bus@780 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x780 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> @@ -1127,7 +1114,6 @@ i2c14: i2c-bus@780 {
> i2c15: i2c-bus@800 {
> #address-cells = <1>;
> #size-cells = <0>;
> - #interrupt-cells = <1>;
> reg = <0x800 0x80>;
> compatible = "aspeed,ast2600-i2c-bus";
> clocks = <&syscon ASPEED_CLK_APB2>;
> diff --git a/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi b/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
> index f9f79ed82518..07ca0d993c9f 100644
> --- a/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
> +++ b/arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi
> @@ -167,6 +167,7 @@ gpio_crmu: gpio@3024800 {
> #gpio-cells = <2>;
> gpio-controller;
> interrupt-controller;
> + #interrupt-cells = <2>;
> interrupt-parent = <&mailbox>;
> interrupts = <0>;
> };
> @@ -247,6 +248,7 @@ gpio_ccm: gpio@1800a000 {
> gpio-controller;
> interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-controller;
> + #interrupt-cells = <2>;
> };
>
> i2c1: i2c@1800b000 {
> @@ -518,6 +520,7 @@ gpio_asiu: gpio@180a5000 {
> gpio-controller;
>
> interrupt-controller;
> + #interrupt-cells = <2>;
> interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> gpio-ranges = <&pinctrl 0 42 1>,
> <&pinctrl 1 44 3>,
> diff --git a/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi b/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
> index 788a6806191a..75545b10ef2f 100644
> --- a/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
> +++ b/arch/arm/boot/dts/broadcom/bcm-hr2.dtsi
> @@ -200,6 +200,7 @@ gpiob: gpio@30000 {
> gpio-controller;
> ngpios = <4>;
> interrupt-controller;
> + #interrupt-cells = <2>;
> interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> diff --git a/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi b/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
> index 9d20ba3b1ffb..6a4482c93167 100644
> --- a/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
> +++ b/arch/arm/boot/dts/broadcom/bcm-nsp.dtsi
> @@ -180,6 +180,7 @@ gpioa: gpio@20 {
> gpio-controller;
> ngpios = <32>;
> interrupt-controller;
> + #interrupt-cells = <2>;
> interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
> gpio-ranges = <&pinctrl 0 0 32>;
> };
> @@ -352,6 +353,7 @@ gpiob: gpio@30000 {
> gpio-controller;
> ngpios = <4>;
> interrupt-controller;
> + #interrupt-cells = <2>;
> interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> diff --git a/arch/arm/boot/dts/marvell/kirkwood-l-50.dts b/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
> index dffb9f84e67c..c841eb8e7fb1 100644
> --- a/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
> +++ b/arch/arm/boot/dts/marvell/kirkwood-l-50.dts
> @@ -65,6 +65,7 @@ i2c@11000 {
> gpio2: gpio-expander@20 {
> #gpio-cells = <2>;
> #interrupt-cells = <2>;
> + interrupt-controller;
> compatible = "semtech,sx1505q";
> reg = <0x20>;
>
> @@ -79,6 +80,7 @@ gpio2: gpio-expander@20 {
> gpio3: gpio-expander@21 {
> #gpio-cells = <2>;
> #interrupt-cells = <2>;
> + interrupt-controller;
> compatible = "semtech,sx1505q";
> reg = <0x21>;
>
> diff --git a/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi b/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
> index fd671c7a1e5d..6e1f0f164cb4 100644
> --- a/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
> +++ b/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
> @@ -120,6 +120,7 @@ gpio0: gpio@0 {
> interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
> <3 IRQ_TYPE_LEVEL_HIGH>,
> <4 IRQ_TYPE_LEVEL_HIGH>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> };
>
> @@ -128,6 +129,7 @@ gpio1: gpio@1 {
> gpio-controller;
> #gpio-cells = <2>;
> interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> };
>
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi b/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
> index 1640763fd4af..ff0d684622f7 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi
> @@ -997,7 +997,6 @@ touchscreen@41 {
> compatible = "st,stmpe811";
> reg = <0x41>;
> irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
> - interrupt-controller;
> id = <0>;
> blocks = <0x5>;
> irq-trigger = <0x1>;
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi b/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
> index 3b6fad273cab..d38f1dd38a90 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi
> @@ -980,7 +980,6 @@ touchscreen@41 {
> compatible = "st,stmpe811";
> reg = <0x41>;
> irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
> - interrupt-controller;
> id = <0>;
> blocks = <0x5>;
> irq-trigger = <0x1>;
> diff --git a/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi b/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
> index 4eb526fe9c55..81c8a5fd92cc 100644
> --- a/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
> +++ b/arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi
> @@ -861,7 +861,6 @@ touchscreen@41 {
> compatible = "st,stmpe811";
> reg = <0x41>;
> irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
> - interrupt-controller;
> id = <0>;
> blocks = <0x5>;
> irq-trigger = <0x1>;
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts b/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
> index db8c332df6a1..cad112e05475 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
> +++ b/arch/arm/boot/dts/nxp/imx/imx6q-b850v3.dts
> @@ -227,7 +227,6 @@ bridge@1,0 {
>
> #address-cells = <3>;
> #size-cells = <2>;
> - #interrupt-cells = <1>;
>
> bridge@2,1 {
> compatible = "pci10b5,8605";
> @@ -235,7 +234,6 @@ bridge@2,1 {
>
> #address-cells = <3>;
> #size-cells = <2>;
> - #interrupt-cells = <1>;
>
> /* Intel Corporation I210 Gigabit Network Connection */
> ethernet@3,0 {
> @@ -250,7 +248,6 @@ bridge@2,2 {
>
> #address-cells = <3>;
> #size-cells = <2>;
> - #interrupt-cells = <1>;
>
> /* Intel Corporation I210 Gigabit Network Connection */
> switch_nic: ethernet@4,0 {
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> index 99f4f6ac71d4..c1ae7c47b442 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6q-bx50v3.dtsi
> @@ -245,6 +245,7 @@ pca9539: pca9539@74 {
> reg = <0x74>;
> gpio-controller;
> #gpio-cells = <2>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> interrupt-parent = <&gpio2>;
> interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> @@ -390,7 +391,6 @@ pci_root: root@0,0 {
>
> #address-cells = <3>;
> #size-cells = <2>;
> - #interrupt-cells = <1>;
> };
> };
>
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
> index 2ae93f57fe5a..ea40623d12e5 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi
> @@ -626,7 +626,6 @@ stmpe811@41 {
> blocks = <0x5>;
> id = <0>;
> interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
> - interrupt-controller;
> interrupt-parent = <&gpio4>;
> irq-trigger = <0x1>;
> pinctrl-names = "default";
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
> index 55c90f6393ad..d3a7a6eeb8e0 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-colibri.dtsi
> @@ -550,7 +550,6 @@ stmpe811@41 {
> blocks = <0x5>;
> interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
> interrupt-parent = <&gpio6>;
> - interrupt-controller;
> id = <0>;
> irq-trigger = <0x1>;
> pinctrl-names = "default";
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
> index a63e73adc1fc..42b2ba23aefc 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-emcon.dtsi
> @@ -225,7 +225,6 @@ da9063: pmic@58 {
> pinctrl-0 = <&pinctrl_pmic>;
> interrupt-parent = <&gpio2>;
> interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
> - interrupt-controller;
>
> onkey {
> compatible = "dlg,da9063-onkey";
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
> index 113974520d54..c0c47adc5866 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-pfla02.dtsi
> @@ -124,6 +124,7 @@ pmic@58 {
> reg = <0x58>;
> interrupt-parent = <&gpio2>;
> interrupts = <9 IRQ_TYPE_LEVEL_LOW>; /* active-low GPIO2_9 */
> + #interrupt-cells = <2>;
> interrupt-controller;
>
> regulators {
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
> index 86b4269e0e01..85e278eb2016 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-phytec-phycore-som.dtsi
> @@ -100,6 +100,7 @@ pmic: pmic@58 {
> interrupt-parent = <&gpio1>;
> interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> interrupt-controller;
> + #interrupt-cells = <2>;
> gpio-controller;
> #gpio-cells = <2>;
>
> diff --git a/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts b/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
> index 12361fcbe24a..1b965652291b 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
> +++ b/arch/arm/boot/dts/nxp/imx/imx7d-pico-dwarf.dts
> @@ -63,6 +63,7 @@ pca9554: io-expander@25 {
> gpio-controller;
> #gpio-cells = <2>;
> #interrupt-cells = <2>;
> + interrupt-controller;
> reg = <0x25>;
> };
>
> diff --git a/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts b/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
> index b0ed68af0546..029f49be40e3 100644
> --- a/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
> +++ b/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts
> @@ -338,6 +338,7 @@ gpio6: io-expander@22 {
> reg = <0x22>;
> gpio-controller;
> #gpio-cells = <2>;
> + #interrupt-cells = <2>;
> interrupt-controller;
> interrupt-parent = <&gpio3>;
> interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/arch/arm/boot/dts/st/stm32429i-eval.dts b/arch/arm/boot/dts/st/stm32429i-eval.dts
> index 576235ec3c51..afa417b34b25 100644
> --- a/arch/arm/boot/dts/st/stm32429i-eval.dts
> +++ b/arch/arm/boot/dts/st/stm32429i-eval.dts
> @@ -222,7 +222,6 @@ stmpe1600: stmpe1600@42 {
> reg = <0x42>;
> interrupts = <8 3>;
> interrupt-parent = <&gpioi>;
> - interrupt-controller;
> wakeup-source;
>
> stmpegpio: stmpe_gpio {
> diff --git a/arch/arm/boot/dts/st/stm32mp157c-dk2.dts b/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
> index 510cca5acb79..7a701f7ef0c7 100644
> --- a/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
> +++ b/arch/arm/boot/dts/st/stm32mp157c-dk2.dts
> @@ -64,7 +64,6 @@ touchscreen@38 {
> reg = <0x38>;
> interrupts = <2 2>;
> interrupt-parent = <&gpiof>;
> - interrupt-controller;
> touchscreen-size-x = <480>;
> touchscreen-size-y = <800>;
> status = "okay";
> diff --git a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
> index c8e55642f9c6..3e834fc7e370 100644
> --- a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
> +++ b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
> @@ -415,7 +415,6 @@ stmpe811@41 {
> reg = <0x41>;
> interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
> interrupt-parent = <&gpio2>;
> - interrupt-controller;
> id = <0>;
> blocks = <0x5>;
> irq-trigger = <0x1>;
>

2024-02-14 14:37:29

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 3/6] arm64: dts: Fix dtc interrupt_provider warnings

On Tue, Feb 13, 2024 at 8:35 PM Rob Herring <[email protected]> wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>

> arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 4 ++++

Reviewed-by: Geert Uytterhoeven <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2024-02-14 15:03:49

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 0/6] dts: Fix dtc interrupt warnings

Hi Rob,

On Tue, Feb 13, 2024 at 8:35 PM Rob Herring <[email protected]> wrote:
> I had a branch with most of these changes sitting in my tree for some
> time. Geert's asking about some errors not getting found prompted me to
> clean it up and send it out. This series fixes all* interrupt related
> warnings and enables the check by default.

> *There's a few Renesas warnings still Geert said he would fix.

Thanks, fix sent
https://lore.kernel.org/r/a351e503ea97fb1af68395843f513925ff1bdf26.1707922460.git.geert+renesas@glider.be

> dtc: Enable dtc interrupt_provider check

> scripts/Makefile.lib | 3 +--

Just wondering, can the remaining disabler be removed, too?

Documentation/devicetree/bindings/Makefile: -Wno-interrupt_provider \

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2024-02-14 15:34:19

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 0/6] dts: Fix dtc interrupt warnings

On Wed, Feb 14, 2024 at 9:01 AM Geert Uytterhoeven <[email protected]> wrote:
>
> Hi Rob,
>
> On Tue, Feb 13, 2024 at 8:35 PM Rob Herring <[email protected]> wrote:
> > I had a branch with most of these changes sitting in my tree for some
> > time. Geert's asking about some errors not getting found prompted me to
> > clean it up and send it out. This series fixes all* interrupt related
> > warnings and enables the check by default.
>
> > *There's a few Renesas warnings still Geert said he would fix.
>
> Thanks, fix sent
> https://lore.kernel.org/r/a351e503ea97fb1af68395843f513925ff1bdf26.1707922460.git.geert+renesas@glider.be
>
> > dtc: Enable dtc interrupt_provider check
>
> > scripts/Makefile.lib | 3 +--
>
> Just wondering, can the remaining disabler be removed, too?
>
> Documentation/devicetree/bindings/Makefile: -Wno-interrupt_provider \

I was too. Shockingly, that too will require some fixes. Though I
remember when configuring the warnings for bindings, trying to make
them stricter. So there must have been some case where
no-interrupt_provider was needed. It may have been related to how we
parse interrupts in examples, but that changed back when switching to
validate dtbs directly.

Rob

2024-02-14 19:50:01

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 3/6] arm64: dts: Fix dtc interrupt_provider warnings

On 2/13/24 11:34, Rob Herring wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---

> arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi | 1 +
> arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi | 1 +

Acked-by: Florian Fainelli <[email protected]> #Broadcom
--
Florian


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2024-02-14 21:59:02

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: Fix dtc interrupt_provider warnings

On 2/13/24 11:34, Rob Herring wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---

> arch/arm/boot/dts/broadcom/bcm-cygnus.dtsi | 3 +++
> arch/arm/boot/dts/broadcom/bcm-hr2.dtsi | 1 +
> arch/arm/boot/dts/broadcom/bcm-nsp.dtsi | 2 ++

Acked-by: Florian Fainelli <[email protected]> #Broadcom
--
Florian


Attachments:
smime.p7s (4.12 kB)
S/MIME Cryptographic Signature

2024-02-15 09:26:47

by Chanho Min

[permalink] [raw]
Subject: Re: [PATCH 3/6] arm64: dts: Fix dtc interrupt_provider warnings

On 24. 2. 14. 4:34 Rob Herring wrote:
> The dtc interrupt_provider warning is off by default. Fix all the warnings
> so it can be enabled.
>
> Signed-off-by: Rob Herring <[email protected]>

> arch/arm64/boot/dts/lg/lg1312.dtsi | 1 -
> arch/arm64/boot/dts/lg/lg1313.dtsi | 1 -
Acked-by: Chanho Min <[email protected]>


2024-02-16 11:00:38

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: Fix dtc interrupt_provider warnings

On Tue Feb 13, 2024 at 8:34 PM CET, Rob Herring wrote:
[...]
> arch/arm/boot/dts/nvidia/tegra30-apalis-v1.1.dtsi | 1 -
> arch/arm/boot/dts/nvidia/tegra30-apalis.dtsi | 1 -
> arch/arm/boot/dts/nvidia/tegra30-colibri.dtsi | 1 -
[...]

Acked-by: Thierry Reding <[email protected]>


Attachments:
signature.asc (849.00 B)