Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757987Ab3ENQw6 (ORCPT ); Tue, 14 May 2013 12:52:58 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:65510 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757829Ab3ENQwx (ORCPT ); Tue, 14 May 2013 12:52:53 -0400 From: Jiang Liu To: Bjorn Helgaas , Yinghai Lu Cc: Jiang Liu , "Rafael J . Wysocki" , Greg Kroah-Hartman , Gu Zheng , Toshi Kani , Myron Stowe , Yijing Wang , Jiang Liu , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Tony Luck , Fenghua Yu , linux-ia64@vger.kernel.org Subject: [RFC PATCH v2, part 2 06/18] PCI, IA64: use hotplug-safe iterators to walk PCI buses Date: Wed, 15 May 2013 00:51:50 +0800 Message-Id: <1368550322-1045-6-git-send-email-jiang.liu@huawei.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1368550322-1045-1-git-send-email-jiang.liu@huawei.com> References: <1368550322-1045-1-git-send-email-jiang.liu@huawei.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2505 Lines: 70 Enhance IA64 architecture specific code to use hotplug-safe iterators to walk PCI buses. Signed-off-by: Jiang Liu Cc: Tony Luck Cc: Fenghua Yu Cc: Greg Kroah-Hartman Cc: linux-ia64@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- arch/ia64/hp/common/sba_iommu.c | 2 +- arch/ia64/sn/kernel/io_common.c | 2 +- arch/ia64/sn/pci/tioca_provider.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c index bcda5b2..6faf241 100644 --- a/arch/ia64/hp/common/sba_iommu.c +++ b/arch/ia64/hp/common/sba_iommu.c @@ -2156,7 +2156,7 @@ sba_init(void) #ifdef CONFIG_PCI { struct pci_bus *b = NULL; - while ((b = pci_find_next_bus(b)) != NULL) + for_each_pci_root_bus(b) sba_connect_bus(b); } #endif diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c index 11f2275..87d8d8f 100644 --- a/arch/ia64/sn/kernel/io_common.c +++ b/arch/ia64/sn/kernel/io_common.c @@ -530,7 +530,7 @@ sn_io_late_init(void) * info from the PROM). */ bus = NULL; - while ((bus = pci_find_next_bus(bus)) != NULL) { + for_each_pci_root_bus(bus) { bussoft = SN_PCIBUS_BUSSOFT(bus); nasid = NASID_GET(bussoft->bs_base); cnode = nasid_to_cnodeid(nasid); diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c index a70b11f..cd8c0fb 100644 --- a/arch/ia64/sn/pci/tioca_provider.c +++ b/arch/ia64/sn/pci/tioca_provider.c @@ -624,7 +624,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont nasid_to_cnodeid(tioca_common->ca_closest_nasid); tioca_common->ca_kernel_private = (u64) tioca_kern; - bus = pci_find_bus(tioca_common->ca_common.bs_persist_segment, + bus = pci_get_bus(tioca_common->ca_common.bs_persist_segment, tioca_common->ca_common.bs_persist_busnum); BUG_ON(!bus); tioca_kern->ca_devices = &bus->devices; @@ -632,6 +632,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont /* init GART */ if (tioca_gart_init(tioca_kern) < 0) { + pci_bus_put(bus); kfree(tioca_kern); kfree(tioca_common); return NULL; -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/