mmc: mmci: use clk_prepare_enable and clk_disable_unprepare
clk_prepare_enable and clk_disable_unprepare combine clk_prepare and clk_enable, and clk_disable and clk_unprepare. They make the code more concise, and ensure that clk_unprepare is called when clk_enable fails. A simplified version of the semantic patch that introduces calls to these functions is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ - clk_prepare(e); - clk_enable(e); + clk_prepare_enable(e); @@ expression e; @@ - clk_disable(e); - clk_unprepare(e); + clk_disable_unprepare(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
@@ -1309,14 +1309,10 @@ static int __devinit mmci_probe(struct amba_device *dev,
|
|||||||
goto host_free;
|
goto host_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = clk_prepare(host->clk);
|
ret = clk_prepare_enable(host->clk);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto clk_free;
|
goto clk_free;
|
||||||
|
|
||||||
ret = clk_enable(host->clk);
|
|
||||||
if (ret)
|
|
||||||
goto clk_unprep;
|
|
||||||
|
|
||||||
host->plat = plat;
|
host->plat = plat;
|
||||||
host->variant = variant;
|
host->variant = variant;
|
||||||
host->mclk = clk_get_rate(host->clk);
|
host->mclk = clk_get_rate(host->clk);
|
||||||
@@ -1515,9 +1511,7 @@ static int __devinit mmci_probe(struct amba_device *dev,
|
|||||||
err_gpio_cd:
|
err_gpio_cd:
|
||||||
iounmap(host->base);
|
iounmap(host->base);
|
||||||
clk_disable:
|
clk_disable:
|
||||||
clk_disable(host->clk);
|
clk_disable_unprepare(host->clk);
|
||||||
clk_unprep:
|
|
||||||
clk_unprepare(host->clk);
|
|
||||||
clk_free:
|
clk_free:
|
||||||
clk_put(host->clk);
|
clk_put(host->clk);
|
||||||
host_free:
|
host_free:
|
||||||
@@ -1564,8 +1558,7 @@ static int __devexit mmci_remove(struct amba_device *dev)
|
|||||||
gpio_free(host->gpio_cd);
|
gpio_free(host->gpio_cd);
|
||||||
|
|
||||||
iounmap(host->base);
|
iounmap(host->base);
|
||||||
clk_disable(host->clk);
|
clk_disable_unprepare(host->clk);
|
||||||
clk_unprepare(host->clk);
|
|
||||||
clk_put(host->clk);
|
clk_put(host->clk);
|
||||||
|
|
||||||
if (host->vcc)
|
if (host->vcc)
|
||||||
|
Reference in New Issue
Block a user