Commit 79cf014b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Bjorn Helgaas

PCI: kirin: Move the power-off code to a common routine

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.orgSigned-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Acked-by: default avatarXiaowei Song <songxiaowei@hisilicon.com>
parent 76afbdc7
...@@ -681,6 +681,19 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = { ...@@ -681,6 +681,19 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = {
.host_init = kirin_pcie_host_init, .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, static int kirin_pcie_power_on(struct platform_device *pdev,
struct kirin_pcie *kirin_pcie) struct kirin_pcie *kirin_pcie)
{ {
...@@ -726,12 +739,7 @@ static int kirin_pcie_power_on(struct platform_device *pdev, ...@@ -726,12 +739,7 @@ static int kirin_pcie_power_on(struct platform_device *pdev,
return 0; return 0;
err: err:
if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY) { kirin_pcie_power_off(kirin_pcie);
hi3660_pcie_phy_power_off(kirin_pcie);
} else {
phy_power_off(kirin_pcie->phy);
phy_exit(kirin_pcie->phy);
}
return ret; return ret;
} }
...@@ -740,11 +748,7 @@ static int __exit kirin_pcie_remove(struct platform_device *pdev) ...@@ -740,11 +748,7 @@ static int __exit kirin_pcie_remove(struct platform_device *pdev)
{ {
struct kirin_pcie *kirin_pcie = platform_get_drvdata(pdev); struct kirin_pcie *kirin_pcie = platform_get_drvdata(pdev);
if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY) kirin_pcie_power_off(kirin_pcie);
return hi3660_pcie_phy_power_off(kirin_pcie);
phy_power_off(kirin_pcie->phy);
phy_exit(kirin_pcie->phy);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment