mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
mmc: sdhci-dove: Use sdhci_pltfm_remove()
Use sdhci_pltfm_remove() instead of sdhci_pltfm_unregister() so that devm_clk_get_enabled() can be used for pltfm_host->clk. This has the side effect that the order of operations on the error path and remove path is not the same as it was before, but should be safe nevertheless. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20230811130351.7038-6-adrian.hunter@intel.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
6996beab71
commit
584259d424
|
|
@ -75,10 +75,7 @@ static int sdhci_dove_probe(struct platform_device *pdev)
|
|||
return PTR_ERR(host);
|
||||
|
||||
pltfm_host = sdhci_priv(host);
|
||||
pltfm_host->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
|
||||
if (!IS_ERR(pltfm_host->clk))
|
||||
clk_prepare_enable(pltfm_host->clk);
|
||||
pltfm_host->clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
|
||||
ret = mmc_of_parse(host->mmc);
|
||||
if (ret)
|
||||
|
|
@ -91,7 +88,6 @@ static int sdhci_dove_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
|
||||
err_sdhci_add:
|
||||
clk_disable_unprepare(pltfm_host->clk);
|
||||
sdhci_pltfm_free(pdev);
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -110,7 +106,7 @@ static struct platform_driver sdhci_dove_driver = {
|
|||
.of_match_table = sdhci_dove_of_match_table,
|
||||
},
|
||||
.probe = sdhci_dove_probe,
|
||||
.remove_new = sdhci_pltfm_unregister,
|
||||
.remove_new = sdhci_pltfm_remove,
|
||||
};
|
||||
|
||||
module_platform_driver(sdhci_dove_driver);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user