aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2012-10-29 22:57:55 -0400
committerPaul Walmsley <paul@pwsan.com>2012-11-08 17:09:26 -0500
commit2577a4a6096017f3152339c562ada77e182c8976 (patch)
tree8a0ff290f1d00e50fee69adfe5f70ae0e788de97 /arch/arm
parentb13159afb46f8a528fcf30bac26c07dbb40a784a (diff)
ARM: OMAP2+: hwmod: call to _omap4_disable_module() should use the SoC-specific call
The hwmod code unconditionally calls _omap4_disable_module() on all SoCs when a module doesn't enable correctly. This "worked" due to the weak function omap4_cminst_wait_module_idle() in arch/arm/mach-omap2/prcm.c, which was a no-op. But now those weak functions are going away - they should not be used. So this patch will now call the SoC-specific disable_module code, assuming it exists. Needs to be done before the weak function is removed, otherwise AM33xx will crash early in boot. Signed-off-by: Paul Walmsley <paul@pwsan.com> Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 54b68121734c..9658e6b8ed84 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -2062,7 +2062,8 @@ static int _enable(struct omap_hwmod *oh)
2062 _enable_sysc(oh); 2062 _enable_sysc(oh);
2063 } 2063 }
2064 } else { 2064 } else {
2065 _omap4_disable_module(oh); 2065 if (soc_ops.disable_module)
2066 soc_ops.disable_module(oh);
2066 _disable_clocks(oh); 2067 _disable_clocks(oh);
2067 pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n", 2068 pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
2068 oh->name, r); 2069 oh->name, r);