tree:
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git pci/xilinx
head: 655fc01c187c48c69a9dd172464da3200634ebfe
commit: 655fc01c187c48c69a9dd172464da3200634ebfe [2/2] PCI: xilinx-cpm: Add Versal CPM
Root Port driver
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.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
git checkout 655fc01c187c48c69a9dd172464da3200634ebfe
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> drivers/pci/controller/pcie-xilinx-cpm.c:524:6: warning: no
previous prototype for 'xilinx_cpm_free_interrupts' [-Wmissing-prototypes]
524 | void xilinx_cpm_free_interrupts(struct xilinx_cpm_pcie_port *port)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pcie-xilinx-cpm.c: In function 'xilinx_cpm_pcie_probe':
> drivers/pci/controller/pcie-xilinx-cpm.c:580:14: warning:
assignment discards 'const' qualifier from pointer target type
[-Wdiscarded-qualifiers]
580 | bridge->ops =
&pci_generic_ecam_ops.pci_ops;
| ^
vim +/xilinx_cpm_free_interrupts +524 drivers/pci/controller/pcie-xilinx-cpm.c
523
524 void xilinx_cpm_free_interrupts(struct xilinx_cpm_pcie_port
*port)
525 {
526 irq_set_chained_handler_and_data(port->intx_irq, NULL, NULL);
527 irq_set_chained_handler_and_data(port->irq, NULL, NULL);
528 }
529
530 /**
531 * xilinx_cpm_pcie_probe - Probe function
532 * @pdev: Platform device pointer
533 *
534 * Return: '0' on success and error value on failure
535 */
536 static int xilinx_cpm_pcie_probe(struct platform_device *pdev)
537 {
538 struct xilinx_cpm_pcie_port *port;
539 struct device *dev = &pdev->dev;
540 struct pci_host_bridge *bridge;
541 struct resource *bus_range;
542 int err;
543
544 bridge = devm_pci_alloc_host_bridge(dev, sizeof(*port));
545 if (!bridge)
546 return -ENODEV;
547
548 port = pci_host_bridge_priv(bridge);
549
550 port->dev = dev;
551
552 err = pci_parse_request_of_pci_ranges(dev, &bridge->windows,
553 &bridge->dma_ranges, &bus_range);
554 if (err) {
555 dev_err(dev, "Getting bridge resources failed\n");
556 return err;
557 }
558
559 err = xilinx_cpm_pcie_init_irq_domain(port);
560 if (err)
561 return err;
562
563 err = xilinx_cpm_pcie_parse_dt(port, bus_range);
564 if (err) {
565 dev_err(dev, "Parsing DT failed\n");
566 goto err_parse_dt;
567 }
568
569 xilinx_cpm_pcie_init_port(port);
570
571 err = xilinx_cpm_setup_irq(port);
572 if (err) {
573 dev_err(dev, "Failed to set up interrupts\n");
574 goto err_setup_irq;
575 }
576
577 bridge->dev.parent = dev;
578 bridge->sysdata = port->cfg;
579 bridge->busnr = port->cfg->busr.start;
580 bridge->ops = &pci_generic_ecam_ops.pci_ops;
581 bridge->map_irq = of_irq_parse_and_map_pci;
582 bridge->swizzle_irq = pci_common_swizzle;
583
584 err = pci_host_probe(bridge);
585 if (err < 0)
586 goto err_host_bridge;
587
588 return 0;
589
590 err_host_bridge:
591 xilinx_cpm_free_interrupts(port);
592 err_setup_irq:
593 pci_ecam_free(port->cfg);
594 err_parse_dt:
595 xilinx_cpm_free_irq_domains(port);
596 return err;
597 }
598
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org