diff options
Diffstat (limited to 'arch/arm/mach-imx/mm-imx5.c')
| -rw-r--r-- | arch/arm/mach-imx/mm-imx5.c | 28 | 
1 files changed, 11 insertions, 17 deletions
diff --git a/arch/arm/mach-imx/mm-imx5.c b/arch/arm/mach-imx/mm-imx5.c index bc17dfea381..49549a72dc7 100644 --- a/arch/arm/mach-imx/mm-imx5.c +++ b/arch/arm/mach-imx/mm-imx5.c @@ -26,23 +26,17 @@ static struct clk *gpc_dvfs_clk;  static void imx5_idle(void)  { -	if (!need_resched()) { -		/* gpc clock is needed for SRPG */ -		if (gpc_dvfs_clk == NULL) { -			gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); -			if (IS_ERR(gpc_dvfs_clk)) -				goto err0; -		} -		clk_enable(gpc_dvfs_clk); -		mx5_cpu_lp_set(WAIT_UNCLOCKED_POWER_OFF); -		if (tzic_enable_wake()) -			goto err1; -		cpu_do_idle(); -err1: -		clk_disable(gpc_dvfs_clk); +	/* gpc clock is needed for SRPG */ +	if (gpc_dvfs_clk == NULL) { +		gpc_dvfs_clk = clk_get(NULL, "gpc_dvfs"); +		if (IS_ERR(gpc_dvfs_clk)) +			return;  	} -err0: -	local_irq_enable(); +	clk_enable(gpc_dvfs_clk); +	mx5_cpu_lp_set(WAIT_UNCLOCKED_POWER_OFF); +	if (tzic_enable_wake() != 0) +		cpu_do_idle(); +	clk_disable(gpc_dvfs_clk);  }  /* @@ -108,7 +102,7 @@ void __init imx51_init_early(void)  	mxc_set_cpu_type(MXC_CPU_MX51);  	mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));  	mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR)); -	pm_idle = imx5_idle; +	arm_pm_idle = imx5_idle;  }  void __init imx53_init_early(void)  |