PCI: kirin: Move the power-off code to a common routine
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 21 Oct 2021 10:45:17 +0000 (11:45 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 4 Nov 2021 19:34:23 +0000 (14:34 -0500)
Instead of having two copies of the same logic, place the power-off logic
in a separate function.

No functional changes.

Link: https://lore.kernel.org/r/64f6e8da3e5fff38b6c8fcb208ace46efe6555bb.1634812676.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Xiaowei Song <songxiaowei@hisilicon.com>
drivers/pci/controller/dwc/pcie-kirin.c

index 6c9fb3f219ba4aebcea443a44824e89a4961dc8c..5ebdf1b4b8d5b24304357d049986829a71ea16c3 100644 (file)
@@ -681,6 +681,19 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = {
        .host_init = kirin_pcie_host_init,
 };
 
+static int kirin_pcie_power_off(struct kirin_pcie *kirin_pcie)
+{
+       int i;
+
+       if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY)
+               return hi3660_pcie_phy_power_off(kirin_pcie);
+
+       phy_power_off(kirin_pcie->phy);
+       phy_exit(kirin_pcie->phy);
+
+       return 0;
+}
+
 static int kirin_pcie_power_on(struct platform_device *pdev,
                               struct kirin_pcie *kirin_pcie)
 {
@@ -726,12 +739,7 @@ static int kirin_pcie_power_on(struct platform_device *pdev,
 
        return 0;
 err:
-       if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY) {
-               hi3660_pcie_phy_power_off(kirin_pcie);
-       } else {
-               phy_power_off(kirin_pcie->phy);
-               phy_exit(kirin_pcie->phy);
-       }
+       kirin_pcie_power_off(kirin_pcie);
 
        return ret;
 }
@@ -740,11 +748,7 @@ static int __exit kirin_pcie_remove(struct platform_device *pdev)
 {
        struct kirin_pcie *kirin_pcie = platform_get_drvdata(pdev);
 
-       if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY)
-               return hi3660_pcie_phy_power_off(kirin_pcie);
-
-       phy_power_off(kirin_pcie->phy);
-       phy_exit(kirin_pcie->phy);
+       kirin_pcie_power_off(kirin_pcie);
 
        return 0;
 }