diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/mach-omap2/pm.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/powerdomain.c | 30 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/powerdomain.h | 2 | 
3 files changed, 5 insertions, 28 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index f4b3143a8b1..f18afc9cbd8 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c @@ -171,7 +171,6 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 pwrst)  		break;  	case LOWPOWERSTATE_SWITCH:  		pwrdm_set_lowpwrstchange(pwrdm); -		pwrdm_wait_transition(pwrdm);  		pwrdm_state_switch(pwrdm);  		break;  	} diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 92388c04f83..97b3881dd60 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -112,7 +112,7 @@ static int _pwrdm_register(struct powerdomain *pwrdm)  	for (i = 0; i < pwrdm->banks; i++)  		pwrdm->ret_mem_off_counter[i] = 0; -	pwrdm_wait_transition(pwrdm); +	arch_pwrdm->pwrdm_wait_transition(pwrdm);  	pwrdm->state = pwrdm_read_pwrst(pwrdm);  	pwrdm->state_counter[pwrdm->state] = 1; @@ -950,34 +950,14 @@ int pwrdm_set_lowpwrstchange(struct powerdomain *pwrdm)  	return ret;  } -/** - * pwrdm_wait_transition - wait for powerdomain power transition to finish - * @pwrdm: struct powerdomain * to wait for - * - * If the powerdomain @pwrdm is in the process of a state transition, - * spin until it completes the power transition, or until an iteration - * bailout value is reached. Returns -EINVAL if the powerdomain - * pointer is null, -EAGAIN if the bailout value was reached, or - * returns 0 upon success. - */ -int pwrdm_wait_transition(struct powerdomain *pwrdm) -{ -	int ret = -EINVAL; - -	if (!pwrdm) -		return -EINVAL; - -	if (arch_pwrdm && arch_pwrdm->pwrdm_wait_transition) -		ret = arch_pwrdm->pwrdm_wait_transition(pwrdm); - -	return ret; -} -  int pwrdm_state_switch(struct powerdomain *pwrdm)  {  	int ret; -	ret = pwrdm_wait_transition(pwrdm); +	if (!pwrdm || !arch_pwrdm) +		return -EINVAL; + +	ret = arch_pwrdm->pwrdm_wait_transition(pwrdm);  	if (!ret)  		ret = _pwrdm_state_switch(pwrdm, PWRDM_STATE_NOW); diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h index 5277d56eb37..7c1534bb16e 100644 --- a/arch/arm/mach-omap2/powerdomain.h +++ b/arch/arm/mach-omap2/powerdomain.h @@ -225,8 +225,6 @@ int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm);  int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm);  bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm); -int pwrdm_wait_transition(struct powerdomain *pwrdm); -  int pwrdm_state_switch(struct powerdomain *pwrdm);  int pwrdm_pre_transition(struct powerdomain *pwrdm);  int pwrdm_post_transition(struct powerdomain *pwrdm);  |