This series is based on top of the three resource fitting and assignment algorithm fixes already in the pci/resource branch. I've tried to compare these patch with the commits in the pci/resource branch to retain the minor spelling/grammar corrections Bjorn made while applying v1. v2 is just to fix two small issues within the series intermediate patches. These corrections attempt to ensure this series is bisectable if troubleshooting requires that in the future. In addition, a few corrections to changelog texts were made. I'm left to wonder though if the added double spaces after some stops within the commit messages in the pci/resource branch were intentional or not (I did remove them for v2). As the changes are very minimal, I'm only sending this to lists and Bjorn to spare people's inboxes. If somebody provides a Tested-by tag for v1, it should be counted in for this v2 (v1 vs v2 difference does not matter if testing the entire series). v2: - In pci_bridge_release_resources(): - Keep type assignment in until removing the type hack. - Introduce res_name in the patch it is used avoid compiler warning about unused variable. Place it into the block that needs it. - Minor corrections to changelog texts Ilpo Järvinen (24): m68k/PCI: Use pci_enable_resources() in pcibios_enable_device() sparc/PCI: Remove pcibios_enable_device() as they do nothing extra MIPS: PCI: Use pci_enable_resources() PCI: Move find_bus_resource_of_type() earlier PCI: Refactor find_bus_resource_of_type() logic checks PCI: Always claim bridge window before its setup PCI: Disable non-claimed bridge window PCI: Use pci_release_resource() instead of release_resource() PCI: Enable bridge even if bridge window fails to assign PCI: Preserve bridge window resource type flags PCI: Add defines for bridge window indexing PCI: Add bridge window selection functions PCI: Fix finding bridge window in pci_reassign_bridge_resources() PCI: Warn if bridge window cannot be released when resizing BAR PCI: Use pbus_select_window() during BAR resize PCI: Use pbus_select_window_for_type() during IO window sizing PCI: Rename resource variable from r to res PCI: Use pbus_select_window() in space available checker PCI: Use pbus_select_window_for_type() during mem window sizing PCI: Refactor distributing available memory to use loops PCI: Refactor remove_dev_resources() to use pbus_select_window() PCI: Add pci_setup_one_bridge_window() PCI: Pass bridge window to pci_bus_release_bridge_resources() PCI: Alter misleading recursion to pci_bus_release_bridge_resources() arch/m68k/kernel/pcibios.c | 39 +- arch/mips/pci/pci-legacy.c | 38 +- arch/sparc/kernel/leon_pci.c | 27 -- arch/sparc/kernel/pci.c | 27 -- arch/sparc/kernel/pcic.c | 27 -- drivers/pci/bus.c | 3 + drivers/pci/pci-sysfs.c | 27 +- drivers/pci/pci.h | 8 +- drivers/pci/probe.c | 35 +- drivers/pci/setup-bus.c | 798 ++++++++++++++++++----------------- drivers/pci/setup-res.c | 46 +- include/linux/pci.h | 5 +- 12 files changed, 504 insertions(+), 576 deletions(-) base-commit: 295524c65d8b4850efbb809f12176eb1262a5aba -- 2.39.5