aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2012-08-26 12:00:55 -0400
committerLinus Walleij <linus.walleij@linaro.org>2012-09-01 00:13:54 -0400
commit6ab49f4201676a96f62d0f327206a28dc02f2e2f (patch)
tree77339362258c9f11ff53080f76b5a43d70cba224 /drivers/gpio
parentce6b658dc040cf4aa3a30f56115e81d15d91596e (diff)
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')
-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)
620 iounmap(gpio_reg_base); 620 iounmap(gpio_reg_base);
621 return PTR_ERR(clk); 621 return PTR_ERR(clk);
622 } 622 }
623 ret = clk_prepare(clk); 623 ret = clk_prepare_enable(clk);
624 if (ret) { 624 if (ret) {
625 clk_put(clk); 625 clk_put(clk);
626 iounmap(gpio_reg_base); 626 iounmap(gpio_reg_base);
627 return ret; 627 return ret;
628 } 628 }
629 ret = clk_enable(clk);
630 if (ret) {
631 clk_unprepare(clk);
632 clk_put(clk);
633 iounmap(gpio_reg_base);
634 return ret;
635 }
636 629
637 /* Initialize GPIO chips */ 630 /* Initialize GPIO chips */
638 info = dev_get_platdata(&pdev->dev); 631 info = dev_get_platdata(&pdev->dev);