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.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>
This commit is contained in:
parent
76afbdc76b
commit
79cf014bf3
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue