Message ID | 20221025185147.665365-5-helgaas@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | PCI: Remove unnecessary <linux/of_irq.h> includes | expand |
Hi Bjorn, I love your patch! Yet something to improve: [auto build test ERROR on helgaas-pci/next] [also build test ERROR on xilinx-xlnx/master rockchip/for-next linus/master v6.1-rc3 next-20221028] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Bjorn-Helgaas/PCI-Remove-unnecessary-linux-of_irq-h-includes/20221026-025433 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next patch link: https://lore.kernel.org/r/20221025185147.665365-5-helgaas%40kernel.org patch subject: [PATCH v2 4/4] PCI: Remove unnecessary <linux/of_irq.h> includes config: parisc-allyesconfig compiler: hppa-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/3a556c42aa50a1375b3eaf12713a3dec8969f6bd git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Bjorn-Helgaas/PCI-Remove-unnecessary-linux-of_irq-h-includes/20221026-025433 git checkout 3a556c42aa50a1375b3eaf12713a3dec8969f6bd # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/pci/controller/pci-xgene-msi.c: In function 'xgene_irq_domain_alloc': >> drivers/pci/controller/pci-xgene-msi.c:196:39: error: invalid use of undefined type 'struct irq_domain' 196 | struct xgene_msi *msi = domain->host_data; | ^~ >> drivers/pci/controller/pci-xgene-msi.c:213:9: error: implicit declaration of function 'irq_domain_set_info' [-Werror=implicit-function-declaration] 213 | irq_domain_set_info(domain, virq, msi_irq, | ^~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c:214:63: error: invalid use of undefined type 'struct irq_domain' 214 | &xgene_msi_bottom_irq_chip, domain->host_data, | ^~ drivers/pci/controller/pci-xgene-msi.c: In function 'xgene_irq_domain_free': >> drivers/pci/controller/pci-xgene-msi.c:223:30: error: implicit declaration of function 'irq_domain_get_irq_data'; did you mean 'irq_desc_get_irq_data'? [-Werror=implicit-function-declaration] 223 | struct irq_data *d = irq_domain_get_irq_data(domain, virq); | ^~~~~~~~~~~~~~~~~~~~~~~ | irq_desc_get_irq_data drivers/pci/controller/pci-xgene-msi.c:223:30: warning: initialization of 'struct irq_data *' from 'int' makes pointer from integer without a cast [-Wint-conversion] >> drivers/pci/controller/pci-xgene-msi.c:234:9: error: implicit declaration of function 'irq_domain_free_irqs_parent' [-Werror=implicit-function-declaration] 234 | irq_domain_free_irqs_parent(domain, virq, nr_irqs); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c: At top level: >> drivers/pci/controller/pci-xgene-msi.c:237:21: error: variable 'msi_domain_ops' has initializer but incomplete type 237 | static const struct irq_domain_ops msi_domain_ops = { | ^~~~~~~~~~~~~~ >> drivers/pci/controller/pci-xgene-msi.c:238:10: error: 'const struct irq_domain_ops' has no member named 'alloc' 238 | .alloc = xgene_irq_domain_alloc, | ^~~~~ drivers/pci/controller/pci-xgene-msi.c:238:19: warning: excess elements in struct initializer 238 | .alloc = xgene_irq_domain_alloc, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c:238:19: note: (near initialization for 'msi_domain_ops') >> drivers/pci/controller/pci-xgene-msi.c:239:10: error: 'const struct irq_domain_ops' has no member named 'free' 239 | .free = xgene_irq_domain_free, | ^~~~ drivers/pci/controller/pci-xgene-msi.c:239:19: warning: excess elements in struct initializer 239 | .free = xgene_irq_domain_free, | ^~~~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c:239:19: note: (near initialization for 'msi_domain_ops') drivers/pci/controller/pci-xgene-msi.c: In function 'xgene_allocate_domains': >> drivers/pci/controller/pci-xgene-msi.c:244:29: error: implicit declaration of function 'irq_domain_add_linear' [-Werror=implicit-function-declaration] 244 | msi->inner_domain = irq_domain_add_linear(NULL, NR_MSI_VEC, | ^~~~~~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c:244:27: warning: assignment to 'struct irq_domain *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 244 | msi->inner_domain = irq_domain_add_linear(NULL, NR_MSI_VEC, | ^ >> drivers/pci/controller/pci-xgene-msi.c:249:53: error: implicit declaration of function 'of_node_to_fwnode' [-Werror=implicit-function-declaration] 249 | msi->msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(msi->node), | ^~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c:249:53: warning: passing argument 1 of 'pci_msi_create_irq_domain' makes pointer from integer without a cast [-Wint-conversion] 249 | msi->msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(msi->node), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | int In file included from drivers/pci/controller/pci-xgene-msi.c:12: include/linux/msi.h:473:68: note: expected 'struct fwnode_handle *' but argument is of type 'int' 473 | struct irq_domain *pci_msi_create_irq_domain(struct fwnode_handle *fwnode, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~ >> drivers/pci/controller/pci-xgene-msi.c:254:17: error: implicit declaration of function 'irq_domain_remove' [-Werror=implicit-function-declaration] 254 | irq_domain_remove(msi->inner_domain); | ^~~~~~~~~~~~~~~~~ drivers/pci/controller/pci-xgene-msi.c: At top level: >> drivers/pci/controller/pci-xgene-msi.c:237:36: error: storage size of 'msi_domain_ops' isn't known 237 | static const struct irq_domain_ops msi_domain_ops = { | ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +196 drivers/pci/controller/pci-xgene-msi.c dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 192 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 193 static int xgene_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 194 unsigned int nr_irqs, void *args) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 195 { dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @196 struct xgene_msi *msi = domain->host_data; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 197 int msi_irq; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 198 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 199 mutex_lock(&msi->bitmap_lock); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 200 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 201 msi_irq = bitmap_find_next_zero_area(msi->bitmap, NR_MSI_VEC, 0, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 202 msi->num_cpus, 0); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 203 if (msi_irq < NR_MSI_VEC) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 204 bitmap_set(msi->bitmap, msi_irq, msi->num_cpus); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 205 else dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 206 msi_irq = -ENOSPC; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 207 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 208 mutex_unlock(&msi->bitmap_lock); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 209 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 210 if (msi_irq < 0) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 211 return msi_irq; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 212 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @213 irq_domain_set_info(domain, virq, msi_irq, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 214 &xgene_msi_bottom_irq_chip, domain->host_data, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 215 handle_simple_irq, NULL, NULL); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 216 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 217 return 0; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 218 } dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 219 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 220 static void xgene_irq_domain_free(struct irq_domain *domain, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 221 unsigned int virq, unsigned int nr_irqs) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 222 { dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @223 struct irq_data *d = irq_domain_get_irq_data(domain, virq); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 224 struct xgene_msi *msi = irq_data_get_irq_chip_data(d); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 225 u32 hwirq; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 226 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 227 mutex_lock(&msi->bitmap_lock); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 228 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 229 hwirq = hwirq_to_canonical_hwirq(d->hwirq); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 230 bitmap_clear(msi->bitmap, hwirq, msi->num_cpus); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 231 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 232 mutex_unlock(&msi->bitmap_lock); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 233 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @234 irq_domain_free_irqs_parent(domain, virq, nr_irqs); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 235 } dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 236 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @237 static const struct irq_domain_ops msi_domain_ops = { dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @238 .alloc = xgene_irq_domain_alloc, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 @239 .free = xgene_irq_domain_free, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 240 }; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 241 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 242 static int xgene_allocate_domains(struct xgene_msi *msi) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 243 { 8d63bc7beaeecd drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-07-28 @244 msi->inner_domain = irq_domain_add_linear(NULL, NR_MSI_VEC, dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 245 &msi_domain_ops, msi); 8d63bc7beaeecd drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-07-28 246 if (!msi->inner_domain) dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 247 return -ENOMEM; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 248 be5436c83ac892 drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-10-13 @249 msi->msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(msi->node), dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 250 &xgene_msi_domain_info, 8d63bc7beaeecd drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-07-28 251 msi->inner_domain); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 252 8d63bc7beaeecd drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-07-28 253 if (!msi->msi_domain) { 8d63bc7beaeecd drivers/pci/host/pci-xgene-msi.c Marc Zyngier 2015-07-28 @254 irq_domain_remove(msi->inner_domain); dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 255 return -ENOMEM; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 256 } dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 257 dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 258 return 0; dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 259 } dcd19de36775b6 drivers/pci/host/pci-xgene-msi.c Duc Dang 2015-06-05 260
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 bfa259781b69..5efc6e56559f 100644 --- a/drivers/pci/controller/pci-xgene-msi.c +++ b/drivers/pci/controller/pci-xgene-msi.c @@ -10,7 +10,6 @@ #include <linux/interrupt.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>