In the _setup() hook, check for valid IDLEST fields.  If not set, use
the module defaults since they are the same as the module defaults
for most hwmods.

Problem found because _wait_target_ready() will fail if IDLEST
fields are not valid.

Signed-off-by: Kevin Hilman <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index a127c9b..77fef90 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -1036,6 +1036,12 @@ static int _setup(struct omap_hwmod *oh)
 
        oh->_state = _HWMOD_STATE_INITIALIZED;
 
+       /* if IDLEST values are not set, use module defaults */
+       if (!oh->prcm.omap2.idlest_reg_id)
+               oh->prcm.omap2.idlest_reg_id = oh->prcm.omap2.prcm_reg_id;
+       if (!oh->prcm.omap2.idlest_idle_bit)
+               oh->prcm.omap2.idlest_idle_bit = oh->prcm.omap2.module_bit;
+
        r = _enable(oh);
        if (r) {
                pr_warning("omap_hwmod: %s: cannot be enabled (%d)\n",
-- 
1.7.0.2

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to