aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@ti.com>2012-03-13 13:25:24 -0400
committerPaul Walmsley <paul@pwsan.com>2012-04-05 04:59:32 -0400
commitf9a2f9c3fa76eec55928e8e06f3094c8f01df7cb (patch)
treeddb760d292b4a1d4d79bbb2c63b98dca25176c00 /arch
parent2800852a079504f35f88e44faf5c9c96318c0cca (diff)
ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
omap_hwmod_softreset() does not seem to wait for reset status after doing a softreset. Make it use _ocp_softreset() instead which does this correctly. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Anand Gadiyar <gadiyar@ti.com> Cc: Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index d32c1ce4f3ab..72903d42ab0d 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -1901,20 +1901,10 @@ void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs)
1901 */ 1901 */
1902int omap_hwmod_softreset(struct omap_hwmod *oh) 1902int omap_hwmod_softreset(struct omap_hwmod *oh)
1903{ 1903{
1904 u32 v; 1904 if (!oh)
1905 int ret;
1906
1907 if (!oh || !(oh->_sysc_cache))
1908 return -EINVAL; 1905 return -EINVAL;
1909 1906
1910 v = oh->_sysc_cache; 1907 return _ocp_softreset(oh);
1911 ret = _set_softreset(oh, &v);
1912 if (ret)
1913 goto error;
1914 _write_sysconfig(v, oh);
1915
1916error:
1917 return ret;
1918} 1908}
1919 1909
1920/** 1910/**