lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 31 Oct 2022 16:30:33 +0800
From:   kernel test robot <lkp@...el.com>
To:     Bjorn Helgaas <helgaas@...nel.org>,
        Lorenzo Pieralisi <lpieralisi@...nel.org>
Cc:     oe-kbuild-all@...ts.linux.dev,
        Kishon Vijay Abraham I <kishon@...nel.org>,
        Tom Joseph <tjoseph@...ence.com>,
        Rob Herring <robh@...nel.org>,
        Krzysztof WilczyƄski <kw@...ux.com>,
        Minghuan Lian <minghuan.Lian@....com>,
        Mingkai Hu <mingkai.hu@....com>, Roy Zang <roy.zang@....com>,
        Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
        Thierry Reding <thierry.reding@...il.com>,
        Jonathan Hunter <jonathanh@...dia.com>,
        Linus Walleij <linus.walleij@...aro.org>,
        Toan Le <toan@...amperecomputing.com>,
        Joyce Ooi <joyce.ooi@...el.com>, Ray Jui <rjui@...adcom.com>,
        Scott Branden <sbranden@...adcom.com>,
        Conor Dooley <conor.dooley@...rochip.com>,
        Daire McNamara <daire.mcnamara@...rochip.com>,
        Shawn Lin <shawn.lin@...k-chips.com>,
        Heiko Stuebner <heiko@...ech.de>,
        Bharat Kumar Gogada <bharat.kumar.gogada@....com>,
        Michal Simek <monstr@...str.eu>,
        bcm-kernel-feedback-list@...adcom.com, linux-omap@...r.kernel.org,
        linux-pci@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
        linux-tegra@...r.kernel.org, linux-riscv@...ts.infradead.org
Subject: Re: [PATCH v2 4/4] PCI: Remove unnecessary <linux/of_irq.h> includes

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@...el.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  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (316059 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ