Patchwork [v2,09/22] PCI, x86: Kill pci_find_next_bus in pcibios_scan_root

login
register
mail settings
Submitter Yinghai Lu
Date Jan. 27, 2013, 5:36 a.m.
Message ID <1359265003-16166-10-git-send-email-yinghai@kernel.org>
Download mbox | patch
Permalink /patch/215953/
State Superseded
Headers show

Comments

Yinghai Lu - Jan. 27, 2013, 5:36 a.m.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: x86@kernel.org
---
 arch/x86/pci/common.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Patch

diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index 505731b..b4b4032 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -447,11 +447,14 @@  void __init dmi_check_pciprobe(void)
 
 struct pci_bus * __devinit pcibios_scan_root(int busnum)
 {
-	struct pci_bus *bus = NULL;
+	struct pci_host_bridge *host_bridge = NULL;
+	struct pci_bus *bus;
 
-	while ((bus = pci_find_next_bus(bus)) != NULL) {
-		if (bus->number == busnum) {
+	for_each_pci_host_bridge(host_bridge) {
+		if (host_bridge->bus->number == busnum) {
 			/* Already scanned */
+			bus = host_bridge->bus;
+			put_device(&host_bridge->dev);
 			return bus;
 		}
 	}