Re: [PATCH v2 4/4] PCI: Remove unnecessary <linux/of_irq.h> includes
From: kernel test robot <hidden>
Date: 2022-10-31 08:31:19
Also in:
linux-riscv, linux-tegra, lkml, oe-kbuild-all
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 [off-list ref] All errors (new ones prefixed by >>): drivers/pci/controller/pci-xgene-msi.c: In function 'xgene_irq_domain_alloc':
quoted
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;
| ^~quoted
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':quoted
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]quoted
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:quoted
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 = {
| ^~~~~~~~~~~~~~quoted
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')quoted
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':quoted
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,
| ^quoted
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,
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~quoted
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:quoted
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
--
0-DAY CI Kernel Test Service
https://01.org/lkp