Subject: Re: [PATCH v6 25/30] PNP: Don't reserve BARs for PCI when enabled movable BARs

From: kbuild test robot <[email-masked]>
Date: Mon, 28 Oct 2019 01:40:06 +0800

Hi Sergey,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on pci/next]
[also build test ERROR on v5.4-rc4 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Sergey-Miroshnichenko/PCI-Allow-BAR-movement-during-hotplug/20191028-002741
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: i386-alldefconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <[email-masked]>

All errors (new ones prefixed by >>):

   drivers/pnp/system.c: In function 'reserve_resources_of_dev':
>> drivers/pnp/system.c:62:6: error: 'pci_can_move_bars' undeclared (first use in this function); did you mean 'pci_cap_saved_data'?
     if (pci_can_move_bars)
         ^~~~~~~~~~~~~~~~~
         pci_cap_saved_data
   drivers/pnp/system.c:62:6: note: each undeclared identifier is reported only once for each function it appears in

vim +62 drivers/pnp/system.c

    56	
    57	static void reserve_resources_of_dev(struct pnp_dev *dev)
    58	{
    59		struct resource *res;
    60		int i;
    61	
  > 62		if (pci_can_move_bars)
    63			return;
    64	
    65		for (i = 0; (res = pnp_get_resource(dev, IORESOURCE_IO, i)); i++) {
    66			if (res->flags & IORESOURCE_DISABLED)
    67				continue;
    68			if (res->start == 0)
    69				continue;	/* disabled */
    70			if (res->start < 0x100)
    71				/*
    72				 * Below 0x100 is only standard PC hardware
    73				 * (pics, kbd, timer, dma, ...)
    74				 * We should not get resource conflicts there,
    75				 * and the kernel reserves these anyway
    76				 * (see arch/i386/kernel/setup.c).
    77				 * So, do nothing
    78				 */
    79				continue;
    80			if (res->end < res->start)
    81				continue;	/* invalid */
    82	
    83			reserve_range(dev, res, 1);
    84		}
    85	
    86		for (i = 0; (res = pnp_get_resource(dev, IORESOURCE_MEM, i)); i++) {
    87			if (res->flags & IORESOURCE_DISABLED)
    88				continue;
    89	
    90			reserve_range(dev, res, 0);
    91		}
    92	}
    93	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation