PCI: cadence: Add shutdown callback to host driver

Add shutdown callback to host driver which will disable PHY and
PM runtime.

Signed-off-by: Alan Douglas <adouglas@cadence.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
This commit is contained in:
Alan Douglas 2018-06-25 09:30:53 +01:00 committed by Lorenzo Pieralisi
parent ee12c9efe6
commit 0ae7383e83
1 changed files with 15 additions and 0 deletions

View File

@ -343,6 +343,20 @@ static int cdns_pcie_host_probe(struct platform_device *pdev)
return ret; return ret;
} }
static void cdns_pcie_shutdown(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct cdns_pcie *pcie = dev_get_drvdata(dev);
int ret;
ret = pm_runtime_put_sync(dev);
if (ret < 0)
dev_dbg(dev, "pm_runtime_put_sync failed\n");
pm_runtime_disable(dev);
cdns_pcie_disable_phy(pcie);
}
static struct platform_driver cdns_pcie_host_driver = { static struct platform_driver cdns_pcie_host_driver = {
.driver = { .driver = {
.name = "cdns-pcie-host", .name = "cdns-pcie-host",
@ -350,5 +364,6 @@ static struct platform_driver cdns_pcie_host_driver = {
.pm = &cdns_pcie_pm_ops, .pm = &cdns_pcie_pm_ops,
}, },
.probe = cdns_pcie_host_probe, .probe = cdns_pcie_host_probe,
.shutdown = cdns_pcie_shutdown,
}; };
builtin_platform_driver(cdns_pcie_host_driver); builtin_platform_driver(cdns_pcie_host_driver);