drivers/rtc/rtc-coh901331.c: use clk_prepare_enable() and clk_disable_unprepare()
authorJulia Lawall <Julia.Lawall@lip6.fr>
Fri, 5 Oct 2012 00:14:07 +0000 (17:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Oct 2012 18:05:04 +0000 (03:05 +0900)
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>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-coh901331.c

index 76b2156..c8115b8 100644 (file)
@@ -276,8 +276,7 @@ static void coh901331_shutdown(struct platform_device *pdev)
 
        clk_enable(rtap->clk);
        writel(0, rtap->virtbase + COH901331_IRQ_MASK);
-       clk_disable(rtap->clk);
-       clk_unprepare(rtap->clk);
+       clk_disable_unprepare(rtap->clk);
 }
 
 static struct platform_driver coh901331_driver = {