diff options
author | Rajendra Nayak <rnayak@ti.com> | 2012-03-13 13:25:24 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-04-05 04:59:32 -0400 |
commit | f9a2f9c3fa76eec55928e8e06f3094c8f01df7cb (patch) | |
tree | ddb760d292b4a1d4d79bbb2c63b98dca25176c00 /arch | |
parent | 2800852a079504f35f88e44faf5c9c96318c0cca (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.c | 14 |
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 | */ |
1902 | int omap_hwmod_softreset(struct omap_hwmod *oh) | 1902 | int 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 | |||
1916 | error: | ||
1917 | return ret; | ||
1918 | } | 1908 | } |
1919 | 1909 | ||
1920 | /** | 1910 | /** |