Skip to content

Commit

Permalink
mmc: sdhci-pxav3: Use devm_* managed helpers
Browse files Browse the repository at this point in the history
This simplifies probe error and remove code paths.

Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
  • Loading branch information
Laurent Pinchart authored and storulf committed Aug 11, 2014
1 parent 39ab196 commit 3df5b28
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions drivers/mmc/host/sdhci-pxav3.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,15 +288,13 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
int ret;
struct clk *clk;

pxa = kzalloc(sizeof(struct sdhci_pxa), GFP_KERNEL);
pxa = devm_kzalloc(&pdev->dev, sizeof(struct sdhci_pxa), GFP_KERNEL);
if (!pxa)
return -ENOMEM;

host = sdhci_pltfm_init(pdev, &sdhci_pxav3_pdata, 0);
if (IS_ERR(host)) {
kfree(pxa);
if (IS_ERR(host))
return PTR_ERR(host);
}

if (of_device_is_compatible(np, "marvell,armada-380-sdhci")) {
ret = mv_conf_mbus_windows(pdev, mv_mbus_dram_info());
Expand All @@ -308,7 +306,7 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
pltfm_host = sdhci_priv(host);
pltfm_host->priv = pxa;

clk = clk_get(dev, NULL);
clk = devm_clk_get(dev, NULL);
if (IS_ERR(clk)) {
dev_err(dev, "failed to get io clock\n");
ret = PTR_ERR(clk);
Expand Down Expand Up @@ -389,29 +387,24 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev);
clk_disable_unprepare(clk);
clk_put(clk);
err_clk_get:
err_mbus_win:
sdhci_pltfm_free(pdev);
kfree(pxa);
return ret;
}

static int sdhci_pxav3_remove(struct platform_device *pdev)
{
struct sdhci_host *host = platform_get_drvdata(pdev);
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_pxa *pxa = pltfm_host->priv;

pm_runtime_get_sync(&pdev->dev);
sdhci_remove_host(host, 1);
pm_runtime_disable(&pdev->dev);

clk_disable_unprepare(pltfm_host->clk);
clk_put(pltfm_host->clk);

sdhci_pltfm_free(pdev);
kfree(pxa);

return 0;
}
Expand Down

0 comments on commit 3df5b28

Please sign in to comment.