]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
PCI: generic: Request host bridge window resources with core function
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 31 May 2016 17:05:05 +0000 (12:05 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 21 Jun 2016 15:09:37 +0000 (10:09 -0500)
Use devm_request_pci_bus_resources() to request host bridge window
resources instead of doing it by hand in the driver.

No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/host/pci-host-common.c

index 8cba7ab73df991aa6d299caf6668573486477c83..533d50c500a940690160de58c61faed7dab2fd87 100644 (file)
@@ -36,12 +36,15 @@ static int gen_pci_parse_request_of_pci_ranges(struct device *dev,
        if (err)
                return err;
 
+       err = devm_request_pci_bus_resources(dev, resources);
+       if (err)
+               goto out_release_res;
+
        resource_list_for_each_entry(win, resources) {
-               struct resource *parent, *res = win->res;
+               struct resource *res = win->res;
 
                switch (resource_type(res)) {
                case IORESOURCE_IO:
-                       parent = &ioport_resource;
                        err = pci_remap_iospace(res, iobase);
                        if (err) {
                                dev_warn(dev, "error %d: failed to map resource %pR\n",
@@ -50,7 +53,6 @@ static int gen_pci_parse_request_of_pci_ranges(struct device *dev,
                        }
                        break;
                case IORESOURCE_MEM:
-                       parent = &iomem_resource;
                        res_valid |= !(res->flags & IORESOURCE_PREFETCH);
                        break;
                case IORESOURCE_BUS:
@@ -58,10 +60,6 @@ static int gen_pci_parse_request_of_pci_ranges(struct device *dev,
                default:
                        continue;
                }
-
-               err = devm_request_resource(dev, parent, res);
-               if (err)
-                       goto out_release_res;
        }
 
        if (!res_valid) {