clk: amba bus: convert to clk_prepare()/clk_unprepare()
Russell King [Thu, 22 Sep 2011 11:20:55 +0000 (12:20 +0100)]
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

drivers/amba/bus.c

index 84bdaac..bd230e8 100644 (file)
@@ -460,9 +460,17 @@ static int amba_get_enable_pclk(struct amba_device *pcdev)
        if (IS_ERR(pclk))
                return PTR_ERR(pclk);
 
+       ret = clk_prepare(pclk);
+       if (ret) {
+               clk_put(pclk);
+               return ret;
+       }
+
        ret = clk_enable(pclk);
-       if (ret)
+       if (ret) {
+               clk_unprepare(pclk);
                clk_put(pclk);
+       }
 
        return ret;
 }
@@ -472,6 +480,7 @@ static void amba_put_disable_pclk(struct amba_device *pcdev)
        struct clk *pclk = pcdev->pclk;
 
        clk_disable(pclk);
+       clk_unprepare(pclk);
        clk_put(pclk);
 }