2022-10-31 15:58:18

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH v3 0/5] PCI: Remove unnecessary <linux/of_irq.h> includes

From: Bjorn Helgaas <[email protected]>

Many host controller drivers #include <linux/of_irq.h> even though they
don't need it. Remove the unnecessary #includes.

v2: https://lore.kernel.org/r/[email protected]/
v1: https://lore.kernel.org/r/[email protected]/

Changes from v2 to v3:
- Include <linux/irqdomain.h> explicitly in xgene-msi, which doesn't need
<linux/of_irq.h> itself, but relied on it to include
<linux/irqdomain.h>. On x86, this was covered up by the fact that
<linux/msi.h> includes <asm/msi.h>, which includes <asm/irqdomain.h>,
which includes <linux/irqdomain.h>. But on parisc, <asm/msi.h> is
actually asm-generic/msi.h, which does *not* include
<linux/irqdomain.h>
- Pick up tags from Conor Dooley and Thomas Petazzoni

Changes from v1 to v2:
- Include <linux/irqdomain.h> explicitly in altera-msi and microchip,
which don't need <linux/of_irq.h> itself, but relied on it to include
<linux/irqdomain.h>
- Include <linux/irqdomain.h> explicitly in mvebu, which needs both it
and <linux/of_irq.h>

Bjorn Helgaas (5):
PCI: altera-msi: Include <linux/irqdomain.h> explicitly
PCI: microchip: Include <linux/irqdomain.h> explicitly
PCI: mvebu: Include <linux/irqdomain.h> explicitly
PCI: xgene-msi: Include <linux/irqdomain.h> explicitly
PCI: Remove unnecessary <linux/of_irq.h> includes

drivers/pci/controller/cadence/pci-j721e.c | 1 -
drivers/pci/controller/dwc/pci-layerscape.c | 1 -
drivers/pci/controller/dwc/pcie-armada8k.c | 1 -
drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
drivers/pci/controller/pci-mvebu.c | 1 +
drivers/pci/controller/pci-v3-semi.c | 1 -
drivers/pci/controller/pci-xgene-msi.c | 2 +-
drivers/pci/controller/pci-xgene.c | 1 -
drivers/pci/controller/pcie-altera-msi.c | 2 +-
drivers/pci/controller/pcie-iproc-platform.c | 1 -
drivers/pci/controller/pcie-iproc.c | 1 -
drivers/pci/controller/pcie-microchip-host.c | 2 +-
drivers/pci/controller/pcie-rockchip-host.c | 1 -
drivers/pci/controller/pcie-xilinx-cpm.c | 1 -
drivers/pci/controller/pcie-xilinx-nwl.c | 1 -
15 files changed, 4 insertions(+), 14 deletions(-)

--
2.25.1



2022-10-31 16:00:09

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH v3 5/5] PCI: Remove unnecessary <linux/of_irq.h> includes

From: Bjorn Helgaas <[email protected]>

Many host controller drivers #include <linux/of_irq.h> even though they
don't need it. Remove the unnecessary #includes.

Signed-off-by: Bjorn Helgaas <[email protected]>
---
drivers/pci/controller/cadence/pci-j721e.c | 1 -
drivers/pci/controller/dwc/pci-layerscape.c | 1 -
drivers/pci/controller/dwc/pcie-armada8k.c | 1 -
drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
drivers/pci/controller/pci-v3-semi.c | 1 -
drivers/pci/controller/pci-xgene-msi.c | 1 -
drivers/pci/controller/pci-xgene.c | 1 -
drivers/pci/controller/pcie-altera-msi.c | 1 -
drivers/pci/controller/pcie-iproc-platform.c | 1 -
drivers/pci/controller/pcie-iproc.c | 1 -
drivers/pci/controller/pcie-microchip-host.c | 1 -
drivers/pci/controller/pcie-rockchip-host.c | 1 -
drivers/pci/controller/pcie-xilinx-cpm.c | 1 -
drivers/pci/controller/pcie-xilinx-nwl.c | 1 -
14 files changed, 14 deletions(-)

diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c
index a82f845cc4b5..cc83a8925ce0 100644
--- a/drivers/pci/controller/cadence/pci-j721e.c
+++ b/drivers/pci/controller/cadence/pci-j721e.c
@@ -15,7 +15,6 @@
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/of_device.h>
-#include <linux/of_irq.h>
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
diff --git a/drivers/pci/controller/dwc/pci-layerscape.c b/drivers/pci/controller/dwc/pci-layerscape.c
index 879b8692f96a..ed5fb492fe08 100644
--- a/drivers/pci/controller/dwc/pci-layerscape.c
+++ b/drivers/pci/controller/dwc/pci-layerscape.c
@@ -13,7 +13,6 @@
#include <linux/init.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
-#include <linux/of_irq.h>
#include <linux/of_address.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
diff --git a/drivers/pci/controller/dwc/pcie-armada8k.c b/drivers/pci/controller/dwc/pcie-armada8k.c
index dc469ef8e99b..5c999e15c357 100644
--- a/drivers/pci/controller/dwc/pcie-armada8k.c
+++ b/drivers/pci/controller/dwc/pcie-armada8k.c
@@ -21,7 +21,6 @@
#include <linux/platform_device.h>
#include <linux/resource.h>
#include <linux/of_pci.h>
-#include <linux/of_irq.h>

#include "pcie-designware.h"

diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index 1b6b437823d2..02d78a12b6e7 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -21,7 +21,6 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
-#include <linux/of_irq.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/phy/phy.h>
diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c
index 154a5398633c..784fcf35599c 100644
--- a/drivers/pci/controller/pci-v3-semi.c
+++ b/drivers/pci/controller/pci-v3-semi.c
@@ -22,7 +22,6 @@
#include <linux/kernel.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
-#include <linux/of_irq.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
diff --git a/drivers/pci/controller/pci-xgene-msi.c b/drivers/pci/controller/pci-xgene-msi.c
index bacb14e558ee..d7987b281f79 100644
--- a/drivers/pci/controller/pci-xgene-msi.c
+++ b/drivers/pci/controller/pci-xgene-msi.c
@@ -11,7 +11,6 @@
#include <linux/irqdomain.h>
#include <linux/module.h>
#include <linux/msi.h>
-#include <linux/of_irq.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
diff --git a/drivers/pci/controller/pci-xgene.c b/drivers/pci/controller/pci-xgene.c
index 549d3bd6d1c2..887b4941ff32 100644
--- a/drivers/pci/controller/pci-xgene.c
+++ b/drivers/pci/controller/pci-xgene.c
@@ -14,7 +14,6 @@
#include <linux/init.h>
#include <linux/of.h>
#include <linux/of_address.h>
-#include <linux/of_irq.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/pci-acpi.h>
diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/controller/pcie-altera-msi.c
index 4366e042e98b..65e8a20cc442 100644
--- a/drivers/pci/controller/pcie-altera-msi.c
+++ b/drivers/pci/controller/pcie-altera-msi.c
@@ -14,7 +14,6 @@
#include <linux/module.h>
#include <linux/msi.h>
#include <linux/of_address.h>
-#include <linux/of_irq.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
diff --git a/drivers/pci/controller/pcie-iproc-platform.c b/drivers/pci/controller/pcie-iproc-platform.c
index 538115246c79..4142a73e611d 100644
--- a/drivers/pci/controller/pcie-iproc-platform.c
+++ b/drivers/pci/controller/pcie-iproc-platform.c
@@ -12,7 +12,6 @@
#include <linux/platform_device.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
-#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/phy/phy.h>

diff --git a/drivers/pci/controller/pcie-iproc.c b/drivers/pci/controller/pcie-iproc.c
index 2519201b0e51..83029bdfd884 100644
--- a/drivers/pci/controller/pcie-iproc.c
+++ b/drivers/pci/controller/pcie-iproc.c
@@ -18,7 +18,6 @@
#include <linux/platform_device.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
-#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/phy/phy.h>

diff --git a/drivers/pci/controller/pcie-microchip-host.c b/drivers/pci/controller/pcie-microchip-host.c
index 57b2a62f52c8..0ebf7015e9af 100644
--- a/drivers/pci/controller/pcie-microchip-host.c
+++ b/drivers/pci/controller/pcie-microchip-host.c
@@ -13,7 +13,6 @@
#include <linux/module.h>
#include <linux/msi.h>
#include <linux/of_address.h>
-#include <linux/of_irq.h>
#include <linux/of_pci.h>
#include <linux/pci-ecam.h>
#include <linux/platform_device.h>
diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c
index 7352b5ff8d35..c96c0f454570 100644
--- a/drivers/pci/controller/pcie-rockchip-host.c
+++ b/drivers/pci/controller/pcie-rockchip-host.c
@@ -28,7 +28,6 @@
#include <linux/of_device.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
-#include <linux/of_irq.h>
#include <linux/pci.h>
#include <linux/pci_ids.h>
#include <linux/phy/phy.h>
diff --git a/drivers/pci/controller/pcie-xilinx-cpm.c b/drivers/pci/controller/pcie-xilinx-cpm.c
index e4ab48041eb6..4a787a941674 100644
--- a/drivers/pci/controller/pcie-xilinx-cpm.c
+++ b/drivers/pci/controller/pcie-xilinx-cpm.c
@@ -16,7 +16,6 @@
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
-#include <linux/of_irq.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/pci-ecam.h>
diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c b/drivers/pci/controller/pcie-xilinx-nwl.c
index 40d070e54ad2..f0271b6c6f8d 100644
--- a/drivers/pci/controller/pcie-xilinx-nwl.c
+++ b/drivers/pci/controller/pcie-xilinx-nwl.c
@@ -17,7 +17,6 @@
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
-#include <linux/of_irq.h>
#include <linux/pci.h>
#include <linux/pci-ecam.h>
#include <linux/platform_device.h>
--
2.25.1


2022-10-31 16:34:25

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH v3 1/5] PCI: altera-msi: Include <linux/irqdomain.h> explicitly

From: Bjorn Helgaas <[email protected]>

pcie-altera-msi.c uses irq_domain_add_linear() and related interfaces, so
it needs <linux/irqdomain.h> but doesn't include it directly; it relies on
the fact that <linux/of_irq.h> includes it.

But pcie-altera-msi.c *doesn't* need <linux/of_irq.h> itself. Include
<linux/irqdomain.h> directly to remove this implicit dependency so a future
patch can drop <linux/of_irq.h>.

Signed-off-by: Bjorn Helgaas <[email protected]>
---
drivers/pci/controller/pcie-altera-msi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/controller/pcie-altera-msi.c
index 7b1d3ebc34ec..4366e042e98b 100644
--- a/drivers/pci/controller/pcie-altera-msi.c
+++ b/drivers/pci/controller/pcie-altera-msi.c
@@ -9,6 +9,7 @@

#include <linux/interrupt.h>
#include <linux/irqchip/chained_irq.h>
+#include <linux/irqdomain.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/msi.h>
--
2.25.1


2022-10-31 17:15:39

by Roy Zang

[permalink] [raw]
Subject: RE: [PATCH v3 5/5] PCI: Remove unnecessary <linux/of_irq.h> includes


> -----Original Message-----
> From: Bjorn Helgaas <[email protected]>
> Subject: [PATCH v3 5/5] PCI: Remove unnecessary <linux/of_irq.h> includes
>
> From: Bjorn Helgaas <[email protected]>
>
> Many host controller drivers #include <linux/of_irq.h> even though they
> don't need it. Remove the unnecessary #includes.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>
> ---
> drivers/pci/controller/cadence/pci-j721e.c | 1 -
> drivers/pci/controller/dwc/pci-layerscape.c | 1 -
> drivers/pci/controller/dwc/pcie-armada8k.c | 1 -
> drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
> drivers/pci/controller/pci-v3-semi.c | 1 -
> drivers/pci/controller/pci-xgene-msi.c | 1 -
> drivers/pci/controller/pci-xgene.c | 1 -
> drivers/pci/controller/pcie-altera-msi.c | 1 -
> drivers/pci/controller/pcie-iproc-platform.c | 1 -
> drivers/pci/controller/pcie-iproc.c | 1 -
> drivers/pci/controller/pcie-microchip-host.c | 1 - drivers/pci/controller/pcie-
> rockchip-host.c | 1 -
> drivers/pci/controller/pcie-xilinx-cpm.c | 1 -
> drivers/pci/controller/pcie-xilinx-nwl.c | 1 -
> 14 files changed, 14 deletions(-)
Acked-by: Roy Zang <[email protected]>

-R

2022-11-10 21:25:17

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH v3 0/5] PCI: Remove unnecessary <linux/of_irq.h> includes

On Mon, Oct 31, 2022 at 10:39:49AM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email protected]>
>
> Many host controller drivers #include <linux/of_irq.h> even though they
> don't need it. Remove the unnecessary #includes.
>
> v2: https://lore.kernel.org/r/[email protected]/
> v1: https://lore.kernel.org/r/[email protected]/
>
> Changes from v2 to v3:
> - Include <linux/irqdomain.h> explicitly in xgene-msi, which doesn't need
> <linux/of_irq.h> itself, but relied on it to include
> <linux/irqdomain.h>. On x86, this was covered up by the fact that
> <linux/msi.h> includes <asm/msi.h>, which includes <asm/irqdomain.h>,
> which includes <linux/irqdomain.h>. But on parisc, <asm/msi.h> is
> actually asm-generic/msi.h, which does *not* include
> <linux/irqdomain.h>
> - Pick up tags from Conor Dooley and Thomas Petazzoni
>
> Changes from v1 to v2:
> - Include <linux/irqdomain.h> explicitly in altera-msi and microchip,
> which don't need <linux/of_irq.h> itself, but relied on it to include
> <linux/irqdomain.h>
> - Include <linux/irqdomain.h> explicitly in mvebu, which needs both it
> and <linux/of_irq.h>
>
> Bjorn Helgaas (5):
> PCI: altera-msi: Include <linux/irqdomain.h> explicitly
> PCI: microchip: Include <linux/irqdomain.h> explicitly
> PCI: mvebu: Include <linux/irqdomain.h> explicitly
> PCI: xgene-msi: Include <linux/irqdomain.h> explicitly
> PCI: Remove unnecessary <linux/of_irq.h> includes
>
> drivers/pci/controller/cadence/pci-j721e.c | 1 -
> drivers/pci/controller/dwc/pci-layerscape.c | 1 -
> drivers/pci/controller/dwc/pcie-armada8k.c | 1 -
> drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
> drivers/pci/controller/pci-mvebu.c | 1 +
> drivers/pci/controller/pci-v3-semi.c | 1 -
> drivers/pci/controller/pci-xgene-msi.c | 2 +-
> drivers/pci/controller/pci-xgene.c | 1 -
> drivers/pci/controller/pcie-altera-msi.c | 2 +-
> drivers/pci/controller/pcie-iproc-platform.c | 1 -
> drivers/pci/controller/pcie-iproc.c | 1 -
> drivers/pci/controller/pcie-microchip-host.c | 2 +-
> drivers/pci/controller/pcie-rockchip-host.c | 1 -
> drivers/pci/controller/pcie-xilinx-cpm.c | 1 -
> drivers/pci/controller/pcie-xilinx-nwl.c | 1 -
> 15 files changed, 4 insertions(+), 14 deletions(-)

I put these on a pci/kbuild branch that I propose to merge in after
everything else. Lorenzo, let me know if you prefer another approach.

Bjorn

2022-11-11 18:45:56

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3 0/5] PCI: Remove unnecessary <linux/of_irq.h> includes

On Mon, Oct 31, 2022 at 10:40 AM Bjorn Helgaas <[email protected]> wrote:
>
> From: Bjorn Helgaas <[email protected]>
>
> Many host controller drivers #include <linux/of_irq.h> even though they
> don't need it. Remove the unnecessary #includes.

Note that the same is often true of the other of_*.h headers.

of_device.h and of_platform.h are tricky though as one includes the
other (with a decade old comment to fix). I started down that rabbit
hole once...

Rob