summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-pxa.c
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2012-08-26 18:00:55 +0200
committerLinus Walleij <linus.walleij@linaro.org>2012-09-01 06:13:54 +0200
commit6ab49f4201676a96f62d0f327206a28dc02f2e2f (patch)
tree77339362258c9f11ff53080f76b5a43d70cba224 /drivers/gpio/gpio-pxa.c
parentce6b658dc040cf4aa3a30f56115e81d15d91596e (diff)
downloadblackbird-op-linux-6ab49f4201676a96f62d0f327206a28dc02f2e2f.tar.gz
blackbird-op-linux-6ab49f4201676a96f62d0f327206a28dc02f2e2f.zip
drivers/gpio/gpio-pxa.c: 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: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-pxa.c')
-rw-r--r--drivers/gpio/gpio-pxa.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 9cac88a65f78..528de0fa0c9e 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -620,19 +620,12 @@ static int __devinit pxa_gpio_probe(struct platform_device *pdev)
iounmap(gpio_reg_base);
return PTR_ERR(clk);
}
- ret = clk_prepare(clk);
+ ret = clk_prepare_enable(clk);
if (ret) {
clk_put(clk);
iounmap(gpio_reg_base);
return ret;
}
- ret = clk_enable(clk);
- if (ret) {
- clk_unprepare(clk);
- clk_put(clk);
- iounmap(gpio_reg_base);
- return ret;
- }
/* Initialize GPIO chips */
info = dev_get_platdata(&pdev->dev);
OpenPOWER on IntegriCloud