PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code
[linux-2.6-microblaze.git] / drivers / pci / controller / dwc / pcie-kirin.c
index 6f01ae0..3042a23 100644 (file)
@@ -157,11 +157,6 @@ static long kirin_pcie_get_resource(struct kirin_pcie *kirin_pcie,
        if (IS_ERR(kirin_pcie->phy_base))
                return PTR_ERR(kirin_pcie->phy_base);
 
-       kirin_pcie->pci->dbi_base =
-               devm_platform_ioremap_resource_byname(pdev, "dbi");
-       if (IS_ERR(kirin_pcie->pci->dbi_base))
-               return PTR_ERR(kirin_pcie->pci->dbi_base);
-
        kirin_pcie->crgctrl =
                syscon_regmap_lookup_by_compatible("hisilicon,hi3660-crgctrl");
        if (IS_ERR(kirin_pcie->crgctrl))
@@ -508,8 +503,12 @@ static int kirin_pcie_probe(struct platform_device *pdev)
 
        kirin_pcie->gpio_id_reset = of_get_named_gpio(dev->of_node,
                                                      "reset-gpios", 0);
-       if (kirin_pcie->gpio_id_reset < 0)
+       if (kirin_pcie->gpio_id_reset == -EPROBE_DEFER) {
+               return -EPROBE_DEFER;
+       } else if (!gpio_is_valid(kirin_pcie->gpio_id_reset)) {
+               dev_err(dev, "unable to get a valid gpio pin\n");
                return -ENODEV;
+       }
 
        ret = kirin_pcie_power_on(kirin_pcie);
        if (ret)