From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755282AbbCCCC6 (ORCPT ); Mon, 2 Mar 2015 21:02:58 -0500 Received: from mail-oi0-f53.google.com ([209.85.218.53]:51925 "EHLO mail-oi0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753733AbbCCCCy (ORCPT ); Mon, 2 Mar 2015 21:02:54 -0500 Date: Mon, 2 Mar 2015 20:02:49 -0600 From: Bjorn Helgaas To: Yijing Wang Cc: Jiang Liu , linux-pci@vger.kernel.org, Yinghai Lu , linux-kernel@vger.kernel.org, Marc Zyngier , linux-arm-kernel@lists.infradead.org, Russell King , x86@kernel.org, Thomas Gleixner , Benjamin Herrenschmidt , Rusty Russell , Tony Luck , linux-ia64@vger.kernel.org, "David S. Miller" , Guan Xuetao , linux-alpha@vger.kernel.org, linux-m68k@vger.kernel.org, Liviu Dudau , Arnd Bergmann , Geert Uytterhoeven , Konrad Rzeszutek Wilk , xen-devel@lists.xenproject.org Subject: Re: [PATCH v4 03/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented() Message-ID: <20150303020249.GC11978@google.com> References: <1424938344-4017-1-git-send-email-wangyijing@huawei.com> <1424938344-4017-4-git-send-email-wangyijing@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1424938344-4017-4-git-send-email-wangyijing@huawei.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 26, 2015 at 04:11:57PM +0800, Yijing Wang wrote: > From: Arnd Bergmann > > Use pci_scan_root_bus() instead of deprecated function > pci_scan_bus_parented(). > > Signed-off-by: Arnd Bergmann > Signed-off-by: Yijing Wang > CC: Konrad Rzeszutek Wilk > CC: xen-devel@lists.xenproject.org > --- > drivers/pci/xen-pcifront.c | 10 +++++++--- > 1 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b1ffebe..240ddbc 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -446,6 +446,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > unsigned int domain, unsigned int bus) > { > struct pci_bus *b; > + LIST_HEAD(resources); > struct pcifront_sd *sd = NULL; > struct pci_bus_entry *bus_entry = NULL; > int err = 0; > @@ -470,17 +471,20 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > err = -ENOMEM; > goto err_out; > } > + pci_add_resource(&resources, &ioport_resource); > + pci_add_resource(&resources, &iomem_resource); This doesn't add &busn_resource like pci_scan_bus_parented() does. That might be OK, but I think we'll now emit "No busn resource found for root bus, will use [bus %02x-ff]" when we didn't before. I don't know how xen-pcifront works; it would be nice if it could supply the correct bus resource (and ioport and iomem). > pcifront_init_sd(sd, domain, bus, pdev); > > pci_lock_rescan_remove(); > > - b = pci_scan_bus_parented(&pdev->xdev->dev, bus, > - &pcifront_bus_ops, sd); > + b = pci_scan_root_bus(&pdev->xdev->dev, bus, > + &pcifront_bus_ops, sd, &resources); > if (!b) { > dev_err(&pdev->xdev->dev, > "Error creating PCI Frontend Bus!\n"); > err = -ENOMEM; > pci_unlock_rescan_remove(); > + pci_free_resource_list(&resources); > goto err_out; > } > > @@ -488,7 +492,7 @@ static int pcifront_scan_root(struct pcifront_device *pdev, > > list_add(&bus_entry->list, &pdev->root_buses); > > - /* pci_scan_bus_parented skips devices which do not have a have > + /* pci_scan_root_bus skips devices which do not have a have Please fix the comment typo at the same time ("have a have"). > * devfn==0. The pcifront_scan_bus enumerates all devfn. */ > err = pcifront_scan_bus(pdev, domain, bus, b); > > -- > 1.7.1 >