[v2,4/4] PCI: Remove unnecessary <linux/of_irq.h> includes
Commit Message
From: Bjorn Helgaas <bhelgaas@google.com>
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 <bhelgaas@google.com>
---
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(-)
Comments
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
@@ -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>
@@ -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>
@@ -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"
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>