diff options
author | Paul Walmsley <paul@pwsan.com> | 2012-10-29 22:57:55 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-11-08 17:09:26 -0500 |
commit | 2577a4a6096017f3152339c562ada77e182c8976 (patch) | |
tree | 8a0ff290f1d00e50fee69adfe5f70ae0e788de97 /arch/arm | |
parent | b13159afb46f8a528fcf30bac26c07dbb40a784a (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.c | 3 |
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); |