watchdog: dw_wdt: use clk_prepare_enable and clk_disable_unprepare
authorHeiko Stübner <heiko@sntech.de>
Wed, 26 Jun 2013 18:04:31 +0000 (20:04 +0200)
committerWim Van Sebroeck <wim@iguana.be>
Sun, 17 Nov 2013 18:33:56 +0000 (19:33 +0100)
This is necessary to make the driver work with platforms using the
common clock framework.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/dw_wdt.c

index 4d3906d..b922bec 100644 (file)
@@ -255,14 +255,14 @@ static int dw_wdt_release(struct inode *inode, struct file *filp)
 #ifdef CONFIG_PM_SLEEP
 static int dw_wdt_suspend(struct device *dev)
 {
-       clk_disable(dw_wdt.clk);
+       clk_disable_unprepare(dw_wdt.clk);
 
        return 0;
 }
 
 static int dw_wdt_resume(struct device *dev)
 {
-       int err = clk_enable(dw_wdt.clk);
+       int err = clk_prepare_enable(dw_wdt.clk);
 
        if (err)
                return err;
@@ -306,7 +306,7 @@ static int dw_wdt_drv_probe(struct platform_device *pdev)
        if (IS_ERR(dw_wdt.clk))
                return PTR_ERR(dw_wdt.clk);
 
-       ret = clk_enable(dw_wdt.clk);
+       ret = clk_prepare_enable(dw_wdt.clk);
        if (ret)
                return ret;
 
@@ -323,7 +323,7 @@ static int dw_wdt_drv_probe(struct platform_device *pdev)
        return 0;
 
 out_disable_clk:
-       clk_disable(dw_wdt.clk);
+       clk_disable_unprepare(dw_wdt.clk);
 
        return ret;
 }
@@ -332,7 +332,7 @@ static int dw_wdt_drv_remove(struct platform_device *pdev)
 {
        misc_deregister(&dw_wdt_miscdev);
 
-       clk_disable(dw_wdt.clk);
+       clk_disable_unprepare(dw_wdt.clk);
 
        return 0;
 }