diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 6c074f37cdd2..8fd87a3055bf 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -2185,6 +2185,8 @@ static int _enable(struct omap_hwmod *oh)  			 oh->mux->pads_dynamic))) {  		omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED);  		_reconfigure_io_chain(); +	} else if (oh->flags & HWMOD_FORCE_MSTANDBY) { +		_reconfigure_io_chain();  	}  	_add_initiator_dep(oh, mpu_oh); @@ -2291,6 +2293,8 @@ static int _idle(struct omap_hwmod *oh)  	if (oh->mux && oh->mux->pads_dynamic) {  		omap_hwmod_mux(oh->mux, _HWMOD_STATE_IDLE);  		_reconfigure_io_chain(); +	} else if (oh->flags & HWMOD_FORCE_MSTANDBY) { +		_reconfigure_io_chain();  	}  	oh->_state = _HWMOD_STATE_IDLE; @@ -3345,6 +3349,9 @@ int __init omap_hwmod_register_links(struct omap_hwmod_ocp_if **ois)  	if (!ois)  		return 0; +	if (ois[0] == NULL) /* Empty list */ +		return 0; +  	if (!linkspace) {  		if (_alloc_linkspace(ois)) {  			pr_err("omap_hwmod: could not allocate link space\n");  | 
