Loading drivers/mmc/host/mxcmmc.c +19 −6 Original line number Diff line number Diff line Loading @@ -1103,8 +1103,13 @@ static int mxcmci_probe(struct platform_device *pdev) goto out_free; } clk_prepare_enable(host->clk_per); clk_prepare_enable(host->clk_ipg); ret = clk_prepare_enable(host->clk_per); if (ret) goto out_free; ret = clk_prepare_enable(host->clk_ipg); if (ret) goto out_clk_per_put; mxcmci_softreset(host); Loading Loading @@ -1173,8 +1178,9 @@ static int mxcmci_probe(struct platform_device *pdev) dma_release_channel(host->dma); out_clk_put: clk_disable_unprepare(host->clk_per); clk_disable_unprepare(host->clk_ipg); out_clk_per_put: clk_disable_unprepare(host->clk_per); out_free: mmc_free_host(mmc); Loading Loading @@ -1217,10 +1223,17 @@ static int __maybe_unused mxcmci_resume(struct device *dev) { struct mmc_host *mmc = dev_get_drvdata(dev); struct mxcmci_host *host = mmc_priv(mmc); int ret; clk_prepare_enable(host->clk_per); clk_prepare_enable(host->clk_ipg); return 0; ret = clk_prepare_enable(host->clk_per); if (ret) return ret; ret = clk_prepare_enable(host->clk_ipg); if (ret) clk_disable_unprepare(host->clk_per); return ret; } static SIMPLE_DEV_PM_OPS(mxcmci_pm_ops, mxcmci_suspend, mxcmci_resume); Loading Loading
drivers/mmc/host/mxcmmc.c +19 −6 Original line number Diff line number Diff line Loading @@ -1103,8 +1103,13 @@ static int mxcmci_probe(struct platform_device *pdev) goto out_free; } clk_prepare_enable(host->clk_per); clk_prepare_enable(host->clk_ipg); ret = clk_prepare_enable(host->clk_per); if (ret) goto out_free; ret = clk_prepare_enable(host->clk_ipg); if (ret) goto out_clk_per_put; mxcmci_softreset(host); Loading Loading @@ -1173,8 +1178,9 @@ static int mxcmci_probe(struct platform_device *pdev) dma_release_channel(host->dma); out_clk_put: clk_disable_unprepare(host->clk_per); clk_disable_unprepare(host->clk_ipg); out_clk_per_put: clk_disable_unprepare(host->clk_per); out_free: mmc_free_host(mmc); Loading Loading @@ -1217,10 +1223,17 @@ static int __maybe_unused mxcmci_resume(struct device *dev) { struct mmc_host *mmc = dev_get_drvdata(dev); struct mxcmci_host *host = mmc_priv(mmc); int ret; clk_prepare_enable(host->clk_per); clk_prepare_enable(host->clk_ipg); return 0; ret = clk_prepare_enable(host->clk_per); if (ret) return ret; ret = clk_prepare_enable(host->clk_ipg); if (ret) clk_disable_unprepare(host->clk_per); return ret; } static SIMPLE_DEV_PM_OPS(mxcmci_pm_ops, mxcmci_suspend, mxcmci_resume); Loading