watchdog: dw_wdt: use clk_prepare_enable and clk_disable_unprepare

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>
This commit is contained in:
Heiko Stübner 2013-06-26 20:04:31 +02:00 коммит произвёл Wim Van Sebroeck
Родитель ad83c6cbf3
Коммит 280103e6b5
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -255,14 +255,14 @@ static int dw_wdt_release(struct inode *inode, struct file *filp)
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
static int dw_wdt_suspend(struct device *dev) static int dw_wdt_suspend(struct device *dev)
{ {
clk_disable(dw_wdt.clk); clk_disable_unprepare(dw_wdt.clk);
return 0; return 0;
} }
static int dw_wdt_resume(struct device *dev) 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) if (err)
return err; return err;
@ -306,7 +306,7 @@ static int dw_wdt_drv_probe(struct platform_device *pdev)
if (IS_ERR(dw_wdt.clk)) if (IS_ERR(dw_wdt.clk))
return PTR_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) if (ret)
return ret; return ret;
@ -323,7 +323,7 @@ static int dw_wdt_drv_probe(struct platform_device *pdev)
return 0; return 0;
out_disable_clk: out_disable_clk:
clk_disable(dw_wdt.clk); clk_disable_unprepare(dw_wdt.clk);
return ret; return ret;
} }
@ -332,7 +332,7 @@ static int dw_wdt_drv_remove(struct platform_device *pdev)
{ {
misc_deregister(&dw_wdt_miscdev); misc_deregister(&dw_wdt_miscdev);
clk_disable(dw_wdt.clk); clk_disable_unprepare(dw_wdt.clk);
return 0; return 0;
} }