PCI: rcar: Use devm_pci_alloc_host_bridge()
authorRob Herring <robh@kernel.org>
Wed, 22 Jul 2020 02:25:09 +0000 (20:25 -0600)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 23 Jul 2020 16:13:13 +0000 (17:13 +0100)
Move to the resource managed devm_pci_alloc_host_bridge() and simplify
the error path.

Link: https://lore.kernel.org/r/20200722022514.1283916-15-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-renesas-soc@vger.kernel.org
drivers/pci/controller/pcie-rcar-host.c

index 58f4d33..c470bff 100644 (file)
@@ -940,7 +940,7 @@ static int rcar_pcie_probe(struct platform_device *pdev)
        int err;
        struct pci_host_bridge *bridge;
 
-       bridge = pci_alloc_host_bridge(sizeof(*host));
+       bridge = devm_pci_alloc_host_bridge(dev, sizeof(*host));
        if (!bridge)
                return -ENOMEM;
 
@@ -952,7 +952,7 @@ static int rcar_pcie_probe(struct platform_device *pdev)
        err = pci_parse_request_of_pci_ranges(dev, &host->resources,
                                              &bridge->dma_ranges, NULL);
        if (err)
-               goto err_free_bridge;
+               return err;
 
        pm_runtime_enable(pcie->dev);
        err = pm_runtime_get_sync(pcie->dev);
@@ -1034,9 +1034,6 @@ err_pm_disable:
        pm_runtime_disable(dev);
        pci_free_resource_list(&host->resources);
 
-err_free_bridge:
-       pci_free_host_bridge(bridge);
-
        return err;
 }