[PATCH v4 03/30] xen/PCI: Don't use deprecated function pci_scan_bus_parented()
From: bhelgaas@google.com (Bjorn Helgaas)
Date: 2015-03-03 02:02:58
Also in:
linux-alpha, linux-pci, lkml
On Thu, Feb 26, 2015 at 04:11:57PM +0800, Yijing Wang wrote:
quoted hunk ↗ jump to hunk
From: Arnd Bergmann <arnd@arndb.de> Use pci_scan_root_bus() instead of deprecated function pci_scan_bus_parented(). Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Yijing Wang <redacted> CC: Konrad Rzeszutek Wilk <redacted> CC: xen-devel at 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).
quoted hunk ↗ jump to hunk
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