PCI: rockchip: Factor out rockchip_pcie_setup_irq()
authorShawn Lin <shawn.lin@rock-chips.com>
Wed, 23 Aug 2017 07:02:05 +0000 (15:02 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 29 Aug 2017 18:18:06 +0000 (13:18 -0500)
Factor out rockchip_pcie_setup_irq() to prepare for future bug fixes. No
functional change intended.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/host/pcie-rockchip.c

index c10b898..fcb96a3 100644 (file)
@@ -933,6 +933,51 @@ static int rockchip_pcie_get_phys(struct rockchip_pcie *rockchip)
        return 0;
 }
 
+static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
+{
+       int irq, err;
+       struct device *dev = rockchip->dev;
+       struct platform_device *pdev = to_platform_device(dev);
+
+       irq = platform_get_irq_byname(pdev, "sys");
+       if (irq < 0) {
+               dev_err(dev, "missing sys IRQ resource\n");
+               return -EINVAL;
+       }
+
+       err = devm_request_irq(dev, irq, rockchip_pcie_subsys_irq_handler,
+                              IRQF_SHARED, "pcie-sys", rockchip);
+       if (err) {
+               dev_err(dev, "failed to request PCIe subsystem IRQ\n");
+               return err;
+       }
+
+       irq = platform_get_irq_byname(pdev, "legacy");
+       if (irq < 0) {
+               dev_err(dev, "missing legacy IRQ resource\n");
+               return -EINVAL;
+       }
+
+       irq_set_chained_handler_and_data(irq,
+                                        rockchip_pcie_legacy_int_handler,
+                                        rockchip);
+
+       irq = platform_get_irq_byname(pdev, "client");
+       if (irq < 0) {
+               dev_err(dev, "missing client IRQ resource\n");
+               return -EINVAL;
+       }
+
+       err = devm_request_irq(dev, irq, rockchip_pcie_client_irq_handler,
+                              IRQF_SHARED, "pcie-client", rockchip);
+       if (err) {
+               dev_err(dev, "failed to request PCIe client IRQ\n");
+               return err;
+       }
+
+       return 0;
+}
+
 /**
  * rockchip_pcie_parse_dt - Parse Device Tree
  * @rockchip: PCIe port information
@@ -945,7 +990,6 @@ static int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
        struct platform_device *pdev = to_platform_device(dev);
        struct device_node *node = dev->of_node;
        struct resource *regs;
-       int irq;
        int err;
 
        regs = platform_get_resource_byname(pdev,
@@ -1059,41 +1103,9 @@ static int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip)
                return PTR_ERR(rockchip->clk_pcie_pm);
        }
 
-       irq = platform_get_irq_byname(pdev, "sys");
-       if (irq < 0) {
-               dev_err(dev, "missing sys IRQ resource\n");
-               return -EINVAL;
-       }
-
-       err = devm_request_irq(dev, irq, rockchip_pcie_subsys_irq_handler,
-                              IRQF_SHARED, "pcie-sys", rockchip);
-       if (err) {
-               dev_err(dev, "failed to request PCIe subsystem IRQ\n");
-               return err;
-       }
-
-       irq = platform_get_irq_byname(pdev, "legacy");
-       if (irq < 0) {
-               dev_err(dev, "missing legacy IRQ resource\n");
-               return -EINVAL;
-       }
-
-       irq_set_chained_handler_and_data(irq,
-                                        rockchip_pcie_legacy_int_handler,
-                                        rockchip);
-
-       irq = platform_get_irq_byname(pdev, "client");
-       if (irq < 0) {
-               dev_err(dev, "missing client IRQ resource\n");
-               return -EINVAL;
-       }
-
-       err = devm_request_irq(dev, irq, rockchip_pcie_client_irq_handler,
-                              IRQF_SHARED, "pcie-client", rockchip);
-       if (err) {
-               dev_err(dev, "failed to request PCIe client IRQ\n");
+       err = rockchip_pcie_setup_irq(rockchip);
+       if (err)
                return err;
-       }
 
        rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v");
        if (IS_ERR(rockchip->vpcie12v)) {