mmc: mxcmmc: Use devm_mmc_alloc_host() helper
Use new function devm_mmc_alloc_host() to simplify the code. Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Fabio Estevam <festevam@gmail.com> Reviewed-by: Huacai Chen <chenhuacai@loongson.cn> Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn> Link: https://lore.kernel.org/r/eb21038ebc81bd0ba9dab4843dce57e4f431fac0.1748933789.git.zhoubinbin@loongson.cn Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
2a52d0c772
commit
c6aa07ac9f
1 changed files with 10 additions and 21 deletions
|
|
@ -1005,23 +1005,21 @@ static int mxcmci_probe(struct platform_device *pdev)
|
|||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
mmc = mmc_alloc_host(sizeof(*host), &pdev->dev);
|
||||
mmc = devm_mmc_alloc_host(&pdev->dev, sizeof(*host));
|
||||
if (!mmc)
|
||||
return -ENOMEM;
|
||||
|
||||
host = mmc_priv(mmc);
|
||||
|
||||
host->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
|
||||
if (IS_ERR(host->base)) {
|
||||
ret = PTR_ERR(host->base);
|
||||
goto out_free;
|
||||
}
|
||||
if (IS_ERR(host->base))
|
||||
return PTR_ERR(host->base);
|
||||
|
||||
host->phys_base = res->start;
|
||||
|
||||
ret = mmc_of_parse(mmc);
|
||||
if (ret)
|
||||
goto out_free;
|
||||
return ret;
|
||||
mmc->ops = &mxcmci_ops;
|
||||
|
||||
/* For devicetree parsing, the bus width is read from devicetree */
|
||||
|
|
@ -1054,7 +1052,7 @@ static int mxcmci_probe(struct platform_device *pdev)
|
|||
|
||||
ret = mmc_regulator_get_supply(mmc);
|
||||
if (ret)
|
||||
goto out_free;
|
||||
return ret;
|
||||
|
||||
if (!mmc->ocr_avail) {
|
||||
if (pdata && pdata->ocr_avail)
|
||||
|
|
@ -1070,20 +1068,16 @@ static int mxcmci_probe(struct platform_device *pdev)
|
|||
host->default_irq_mask = 0;
|
||||
|
||||
host->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
|
||||
if (IS_ERR(host->clk_ipg)) {
|
||||
ret = PTR_ERR(host->clk_ipg);
|
||||
goto out_free;
|
||||
}
|
||||
if (IS_ERR(host->clk_ipg))
|
||||
return PTR_ERR(host->clk_ipg);
|
||||
|
||||
host->clk_per = devm_clk_get(&pdev->dev, "per");
|
||||
if (IS_ERR(host->clk_per)) {
|
||||
ret = PTR_ERR(host->clk_per);
|
||||
goto out_free;
|
||||
}
|
||||
if (IS_ERR(host->clk_per))
|
||||
return PTR_ERR(host->clk_per);
|
||||
|
||||
ret = clk_prepare_enable(host->clk_per);
|
||||
if (ret)
|
||||
goto out_free;
|
||||
return ret;
|
||||
|
||||
ret = clk_prepare_enable(host->clk_ipg);
|
||||
if (ret)
|
||||
|
|
@ -1169,9 +1163,6 @@ out_clk_put:
|
|||
out_clk_per_put:
|
||||
clk_disable_unprepare(host->clk_per);
|
||||
|
||||
out_free:
|
||||
mmc_free_host(mmc);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1190,8 +1181,6 @@ static void mxcmci_remove(struct platform_device *pdev)
|
|||
|
||||
clk_disable_unprepare(host->clk_per);
|
||||
clk_disable_unprepare(host->clk_ipg);
|
||||
|
||||
mmc_free_host(mmc);
|
||||
}
|
||||
|
||||
static int mxcmci_suspend(struct device *dev)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue