Hi Baoquan, I love your patch! Yet something to improve:
[auto build test ERROR on linus/master] [also build test ERROR on v4.18-rc3 next-20180704] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180704-121402 config: ia64-allnoconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=ia64 All errors (new ones prefixed by >>): arch/ia64/sn/kernel/io_init.c: In function 'sn_io_slot_fixup': >> arch/ia64/sn/kernel/io_init.c:195:19: error: invalid operands to binary && >> (have 'int' and 'struct list_head') if (res->parent && res->parent->child) ~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~ vim +195 arch/ia64/sn/kernel/io_init.c ^1da177e Linus Torvalds 2005-04-16 142 3ec829b6 John Keller 2005-11-29 143 /* 6f09a925 John Keller 2007-01-30 144 * sn_io_slot_fixup() - We are not running with an ACPI capable PROM, 8ea6091f John Keller 2006-10-04 145 * and need to convert the pci_dev->resource 8ea6091f John Keller 2006-10-04 146 * 'start' and 'end' addresses to mapped addresses, 8ea6091f John Keller 2006-10-04 147 * and setup the pci_controller->window array entries. ^1da177e Linus Torvalds 2005-04-16 148 */ 8ea6091f John Keller 2006-10-04 149 void 6f09a925 John Keller 2007-01-30 150 sn_io_slot_fixup(struct pci_dev *dev) ^1da177e Linus Torvalds 2005-04-16 151 { ^1da177e Linus Torvalds 2005-04-16 152 int idx; ab97b8cc Bjorn Helgaas 2016-03-02 153 struct resource *res; 18c25526 Matt Fleming 2016-05-04 154 unsigned long size; 6f09a925 John Keller 2007-01-30 155 struct pcidev_info *pcidev_info; 6f09a925 John Keller 2007-01-30 156 struct sn_irq_info *sn_irq_info; 6f09a925 John Keller 2007-01-30 157 int status; 6f09a925 John Keller 2007-01-30 158 6f09a925 John Keller 2007-01-30 159 pcidev_info = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); 6f09a925 John Keller 2007-01-30 160 if (!pcidev_info) d4ed8084 Harvey Harrison 2008-03-04 161 panic("%s: Unable to alloc memory for pcidev_info", __func__); 6f09a925 John Keller 2007-01-30 162 6f09a925 John Keller 2007-01-30 163 sn_irq_info = kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL); 6f09a925 John Keller 2007-01-30 164 if (!sn_irq_info) d4ed8084 Harvey Harrison 2008-03-04 165 panic("%s: Unable to alloc memory for sn_irq_info", __func__); 6f09a925 John Keller 2007-01-30 166 6f09a925 John Keller 2007-01-30 167 /* Call to retrieve pci device information needed by kernel. */ 6f09a925 John Keller 2007-01-30 168 status = sal_get_pcidev_info((u64) pci_domain_nr(dev), 6f09a925 John Keller 2007-01-30 169 (u64) dev->bus->number, 6f09a925 John Keller 2007-01-30 170 dev->devfn, 6f09a925 John Keller 2007-01-30 171 (u64) __pa(pcidev_info), 6f09a925 John Keller 2007-01-30 172 (u64) __pa(sn_irq_info)); 6f09a925 John Keller 2007-01-30 173 80a03e29 Stoyan Gaydarov 2009-03-10 174 BUG_ON(status); /* Cannot get platform pci device information */ 6f09a925 John Keller 2007-01-30 175 3ec829b6 John Keller 2005-11-29 176 ^1da177e Linus Torvalds 2005-04-16 177 /* Copy over PIO Mapped Addresses */ ^1da177e Linus Torvalds 2005-04-16 178 for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { ab97b8cc Bjorn Helgaas 2016-03-02 179 if (!pcidev_info->pdi_pio_mapped_addr[idx]) ^1da177e Linus Torvalds 2005-04-16 180 continue; ^1da177e Linus Torvalds 2005-04-16 181 ab97b8cc Bjorn Helgaas 2016-03-02 182 res = &dev->resource[idx]; ab97b8cc Bjorn Helgaas 2016-03-02 183 ab97b8cc Bjorn Helgaas 2016-03-02 184 size = res->end - res->start; ab97b8cc Bjorn Helgaas 2016-03-02 185 if (size == 0) 3ec829b6 John Keller 2005-11-29 186 continue; ab97b8cc Bjorn Helgaas 2016-03-02 187 240504ad Bjorn Helgaas 2016-03-02 188 res->start = pcidev_info->pdi_pio_mapped_addr[idx]; 18c25526 Matt Fleming 2016-05-04 189 res->end = res->start + size; 64715725 Bernhard Walle 2007-03-18 190 64715725 Bernhard Walle 2007-03-18 191 /* 64715725 Bernhard Walle 2007-03-18 192 * if it's already in the device structure, remove it before 64715725 Bernhard Walle 2007-03-18 193 * inserting 64715725 Bernhard Walle 2007-03-18 194 */ ab97b8cc Bjorn Helgaas 2016-03-02 @195 if (res->parent && res->parent->child) ab97b8cc Bjorn Helgaas 2016-03-02 196 release_resource(res); 64715725 Bernhard Walle 2007-03-18 197 ab97b8cc Bjorn Helgaas 2016-03-02 198 if (res->flags & IORESOURCE_IO) ab97b8cc Bjorn Helgaas 2016-03-02 199 insert_resource(&ioport_resource, res); ^1da177e Linus Torvalds 2005-04-16 200 else ab97b8cc Bjorn Helgaas 2016-03-02 201 insert_resource(&iomem_resource, res); d7ad2254 John Keller 2007-07-09 202 /* 240504ad Bjorn Helgaas 2016-03-02 203 * If ROM, mark as shadowed in PROM. d7ad2254 John Keller 2007-07-09 204 */ d7ad2254 John Keller 2007-07-09 205 if (idx == PCI_ROM_RESOURCE) { 240504ad Bjorn Helgaas 2016-03-02 206 pci_disable_rom(dev); 240504ad Bjorn Helgaas 2016-03-02 207 res->flags = IORESOURCE_MEM | IORESOURCE_ROM_SHADOW | 240504ad Bjorn Helgaas 2016-03-02 208 IORESOURCE_PCI_FIXED; d7ad2254 John Keller 2007-07-09 209 } ^1da177e Linus Torvalds 2005-04-16 210 } 6f09a925 John Keller 2007-01-30 211 6f09a925 John Keller 2007-01-30 212 sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info); ^1da177e Linus Torvalds 2005-04-16 213 } 6f09a925 John Keller 2007-01-30 214 EXPORT_SYMBOL(sn_io_slot_fixup); 6f09a925 John Keller 2007-01-30 215 :::::: The code at line 195 was first introduced by commit :::::: ab97b8cc560eabfd8139dd97924a09e46a3c9632 ia64/PCI: Use temporary struct resource * to avoid repetition :::::: TO: Bjorn Helgaas <bhelg...@google.com> :::::: CC: Bjorn Helgaas <bhelg...@google.com> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm