Skip to content

PCI: allocate pci bus num range for unassigned bridge busn + pci rescan cleanup

Yinghai Lu linux-arch linux-ia64 linux-parisc linux-pci linuxppc-dev lkml sparclinux 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest23 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23x86, PCI: Merge pcibios_scan_root and pci_scan_bus_on_nodearch/x86/pci/common.c+4 -230 replies
2/23PCI: Add busn_res into struct pci_bus.include/linux/pci.h+1 -00 replies
3/23PCI: Add busn_res operation functionsdrivers/pci/probe.c include/linux/pci.h+50 -00 replies
4/23PCI: Add busn_res tracking in coredrivers/pci/probe.c drivers/pci/remove.c+10 -20 replies
5/23PCI, x86: Register busn_res for root busesarch/x86/include/asm/topology.h arch/x86/pci/acpi.c arch/x86/pci/bus_numa.c +1 more+23 -80 replies
6/23PCI, ia64: Register busn_res for root busesarch/ia64/pci/pci.c+2 -00 replies
7/23PCI, sparc: Register busn_res for root busesarch/sparc/kernel/pci.c+1 -00 replies
8/23PCI, powerpc: Register busn_res for root busesarch/powerpc/kernel/pci-common.c+6 -10 replies
9/23PCI, parisc: Register busn_res for root busesdrivers/parisc/dino.c drivers/parisc/lba_pci.c+5 -00 replies
10/23PCI: Add pci_bus_extend/shrink_top()drivers/pci/probe.c+36 -00 replies
11/23PCI: Probe safe range that we can use for unassigned bridge.drivers/pci/probe.c+110 -00 replies
12/23PCI: Strict checking of valid range for bridgedrivers/pci/probe.c+24 -00 replies
13/23PCI: Allocate bus range instead of use max blindlydrivers/pci/probe.c+59 -410 replies
14/23PCI: kill pci_fixup_parent_subordinate_busnr()drivers/pci/probe.c+0 -320 replies
15/23PCI: Seperate child bus scanning to two passes overalldrivers/pci/probe.c+34 -160 replies
16/23pcmcia: remove workaround for fixing pci parent bus subordinatedrivers/pcmcia/yenta_socket.c+0 -750 replies
17/23PCI: Double checking setting for bus register and bus struct.drivers/pci/probe.c+40 -00 replies
18/23PCI, pciehp: Remove not needed bus number range checkingdrivers/pci/hotplug/pciehp_pci.c+1 -110 replies
19/23PCI, sys: Use device_type and attr_groups with pci devdrivers/pci/pci-sysfs.c drivers/pci/pci.h drivers/pci/probe.c+32 -00 replies
20/23PCI, sysfs: create rescan_bridge under /sys/.../pci/devices/... for pci bridgesDocumentation/ABI/testing/sysfs-bus-pci drivers/pci/pci-sysfs.c+34 -00 replies
21/23PCI: Add pci_bus_add_single_device()drivers/pci/bus.c include/linux/pci.h+41 -00 replies
22/23PCI: make pci_rescan_bus_bridge_resize use pci_scan_bridge insteaddrivers/pci/probe.c+6 -40 replies
23/23PCI: clean up rescan_bus_bridge_resizedrivers/pci/pci-sysfs.c+2 -50 replies

Reviews trailers per patch

None of the 23 patches has a Reviewed-by or Acked-by.

PatchDominik Brodowski
1/23
2/23
3/23
4/23
5/23
6/23
7/23
8/23
9/23
10/23
11/23
12/23
13/23
14/23
15/23
16/23T-b
17/23
18/23
19/23
20/23
21/23
22/23
23/23

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH -v7 0/23] PCI: allocate pci bus num range for unassigned bridge busn + pci rescan cleanup

8a2fc18: PCI: clean up rescan_bus_bridge_resize
bf71259: PCI: make pci_rescan_bus_bridge_resize use pci_scan_bridge instead
e920668: PCI: Add pci_bus_add_single_device()
c61820d: PCI, sysfs: create rescan_bridge under /sys/.../pci/devices/... for pci bridges 52b414e: PCI, sys: Use device_type and attr_groups with pci dev
1dd3a1e: PCI, pciehp: Remove not needed bus number range checking
4ecfb5b: PCI: Double checking setting for bus register and bus struct. 938bc68: pcmcia: remove workaround for fixing pci parent bus subordinate 206c646: PCI: Seperate child bus scanning to two passes overall
883167f: PCI: kill pci_fixup_parent_subordinate_busnr()
a4c590e: PCI: Allocate bus range instead of use max blindly
13e322a: PCI: Strict checking of valid range for bridge
8a6af68: PCI: Probe safe range that we can use for unassigned bridge. 85f1fdd: PCI: Add pci_bus_extend/shrink_top()
d4c8a5e: PCI, parisc: Register busn_res for root buses
821fbcf: PCI, powerpc: Register busn_res for root buses
8b257c9: PCI, sparc: Register busn_res for root buses
8be529a: PCI, ia64: Register busn_res for root buses
136c1d8: PCI, x86: Register busn_res for root buses
fb89a01f: PCI: Add busn_res tracking in core
d919f95: PCI: Add busn_res operation functions
7bb98d3: PCI: Add busn_res into struct pci_bus.
8958703: x86, PCI: Merge pcibios_scan_root and pci_scan_bus_on_node

Set up iobusn_resource tree, and register bus number range to it. Later when need to find bus range, will try to allocate from the tree

Need to test on arches other than x86. esp for ia64 and powerpc that support
more than on peer root buses.

last five patches are rescan cleanup that make use busn alloc.

could be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-pci-busn-alloc

-v2: according to Jesse, split to more small patches.
-v3: address some request from Bjorn. like make use %pR for busn_res debug print
out, and move the comment change with code change.
-v4: fixes the problem about rescan that Bjorn found.
-v5: add /proc/iobusn that is requested by Bjorn.
remove old workaround from pciehp.
add rescan_bridge for pci bridge in /sys
-v6: remove global iobusn_resource, and every root bus's busn_res will be root
of children buses' busn_res.
pc cardbus change is tested by pcmcia maintainter.
-v7: remove pci_scan_root_bus_max requested by Bjorn and Jesse.

Thanks

Yinghai

 Documentation/ABI/testing/sysfs-bus-pci |   10 +
 arch/ia64/pci/pci.c                     |    2 +
 arch/powerpc/kernel/pci-common.c        |    7 +-
 arch/sparc/kernel/pci.c                 |    1 +
 arch/x86/include/asm/topology.h         |    3 +-
 arch/x86/pci/acpi.c                     |    8 +-
 arch/x86/pci/bus_numa.c                 |    8 +-
 arch/x86/pci/common.c                   |   37 +--
 drivers/parisc/dino.c                   |    2 +
 drivers/parisc/lba_pci.c                |    3 +
 drivers/pci/bus.c                       |   40 +++
 drivers/pci/hotplug/pciehp_pci.c        |   12 +-
 drivers/pci/pci-sysfs.c                 |   59 ++++-
 drivers/pci/pci.h                       |    1 +
 drivers/pci/probe.c                     |  441 +++++++++++++++++++++++++------
 drivers/pci/remove.c                    |    1 +
 drivers/pcmcia/yenta_socket.c           |   75 ------
 include/linux/pci.h                     |    5 +
 18 files changed, 509 insertions(+), 206 deletions(-)