Hi Nicholas, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on pci/next] [also build test WARNING on v5.0-rc4 next-20190204] [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/Nicholas-Johnson/PCI-Consider-alignment-of-hot-added-bridges-when-distributing-available-resources/20190204-182638 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-randconfig-x007-201905 (attached as .config) compiler: gcc-8 (Debian 8.2.0-14) 8.2.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:331, from include/linux/kernel.h:14, from drivers//pci/setup-bus.c:18: drivers//pci/setup-bus.c: In function 'extend_bridge_window': >> drivers//pci/setup-bus.c:1831:18: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 5 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=] pci_dbg(bridge, "bridge window %pR extended by 0x%016llx\n", res, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:135:39: note: in definition of macro 'dynamic_dev_dbg' __dynamic_dev_dbg(&descriptor, dev, fmt, \ ^~~ include/linux/device.h:1473:23: note: in expansion of macro 'dev_fmt' dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~ include/linux/pci.h:2362:36: note: in expansion of macro 'dev_dbg' #define pci_dbg(pdev, fmt, arg...) dev_dbg(&(pdev)->dev, fmt, ##arg) ^~~~~~~ drivers//pci/setup-bus.c:1831:2: note: in expansion of macro 'pci_dbg' pci_dbg(bridge, "bridge window %pR extended by 0x%016llx\n", res, ^~~~~~~ vim +1831 drivers//pci/setup-bus.c 1816 1817 static void extend_bridge_window(struct pci_dev *bridge, struct resource *res, 1818 struct list_head *add_list, resource_size_t available) 1819 { 1820 struct pci_dev_resource *dev_res; 1821 1822 if (res->parent) 1823 return; 1824 1825 /* 1826 * Hot-adding multiple Thunderbolt devices in SL0 might result in 1827 * multiple devices being enumerated together. This can break the 1828 * resource allocation if the resource sizes are specified with 1829 * add_size instead of simply changing the resource size. 1830 */ > 1831 pci_dbg(bridge, "bridge window %pR extended by 0x%016llx\n", res, 1832 available - resource_size(res)); 1833 res->end = res->start + available - 1; 1834 1835 /* 1836 * If a list entry exists, we need to remove any additional size 1837 * requested because that could interfere with the alignment and 1838 * sizing done when distributing resources, causing resources to 1839 * fail to allocate later on. 1840 */ 1841 dev_res = res_to_dev_res(add_list, res); 1842 if (!dev_res) 1843 return; 1844 1845 dev_res->add_size = 0; 1846 } 1847 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation