@@ -22,7 +22,13 @@ static struct clk *gpc_dvfs_clk;
static int mx5_suspend_prepare(void)
{
- return clk_enable(gpc_dvfs_clk);
+ int ret;
+ ret = clk_prepare(gpc_dvfs_clk);
+ if (!ret)
+ ret = clk_enable(gpc_dvfs_clk);
+ if (ret)
+ clk_unprepare(gpc_dvfs_clk);
+ return ret;
}
static int mx5_suspend_enter(suspend_state_t state)
@@ -53,6 +59,7 @@ static int mx5_suspend_enter(suspend_state_t state)
static void mx5_suspend_finish(void)
{
clk_disable(gpc_dvfs_clk);
+ clk_unprepare(gpc_dvfs_clk);
}
static int mx5_pm_valid(suspend_state_t state)
Signed-off-by: Richard Zhao <richard.zhao@linaro.org> --- arch/arm/mach-mx5/pm-imx5.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)