Re: [PATCH 03/16] mmc: sdhci-brcmstb: Use sdhci_pltfm_remove()
From: Kamal Dasu
Date: Fri Aug 25 2023 - 12:24:33 EST
On Fri, Aug 11, 2023 at 9:04 AM Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>
> Use sdhci_pltfm_remove() instead of sdhci_pltfm_unregister() so that
> devm_clk_get_optional_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@xxxxxxxxx>
Reviewed-by : Kamal Dasu <kamal.dasu@xxxxxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-brcmstb.c | 18 +++++-------------
> 1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
> index a2b6d8f2eeb6..c23251bb95f3 100644
> --- a/drivers/mmc/host/sdhci-brcmstb.c
> +++ b/drivers/mmc/host/sdhci-brcmstb.c
> @@ -264,23 +264,17 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
>
> dev_dbg(&pdev->dev, "Probe found match for %s\n", match->compatible);
>
> - clk = devm_clk_get_optional(&pdev->dev, NULL);
> + clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
> if (IS_ERR(clk))
> return dev_err_probe(&pdev->dev, PTR_ERR(clk),
> - "Failed to get clock from Device Tree\n");
> -
> - res = clk_prepare_enable(clk);
> - if (res)
> - return res;
> + "Failed to get and enable clock from Device Tree\n");
>
> memset(&brcmstb_pdata, 0, sizeof(brcmstb_pdata));
> brcmstb_pdata.ops = match_priv->ops;
> host = sdhci_pltfm_init(pdev, &brcmstb_pdata,
> sizeof(struct sdhci_brcmstb_priv));
> - if (IS_ERR(host)) {
> - res = PTR_ERR(host);
> - goto err_clk;
> - }
> + if (IS_ERR(host))
> + return PTR_ERR(host);
>
> pltfm_host = sdhci_priv(host);
> priv = sdhci_pltfm_priv(pltfm_host);
> @@ -369,9 +363,7 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
>
> err:
> sdhci_pltfm_free(pdev);
> -err_clk:
> clk_disable_unprepare(base_clk);
> - clk_disable_unprepare(clk);
> return res;
> }
>
> @@ -430,7 +422,7 @@ static struct platform_driver sdhci_brcmstb_driver = {
> .of_match_table = of_match_ptr(sdhci_brcm_of_match),
> },
> .probe = sdhci_brcmstb_probe,
> - .remove_new = sdhci_pltfm_unregister,
> + .remove_new = sdhci_pltfm_remove,
> .shutdown = sdhci_brcmstb_shutdown,
> };
>
> --
> 2.34.1
>
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature