diff options
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 45f1d9c44e94..7144ae651d3d 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
| @@ -1906,10 +1906,20 @@ void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs) | |||
| 1906 | */ | 1906 | */ |
| 1907 | int omap_hwmod_softreset(struct omap_hwmod *oh) | 1907 | int omap_hwmod_softreset(struct omap_hwmod *oh) |
| 1908 | { | 1908 | { |
| 1909 | if (!oh) | 1909 | u32 v; |
| 1910 | int ret; | ||
| 1911 | |||
| 1912 | if (!oh || !(oh->_sysc_cache)) | ||
| 1910 | return -EINVAL; | 1913 | return -EINVAL; |
| 1911 | 1914 | ||
| 1912 | return _ocp_softreset(oh); | 1915 | v = oh->_sysc_cache; |
| 1916 | ret = _set_softreset(oh, &v); | ||
| 1917 | if (ret) | ||
| 1918 | goto error; | ||
| 1919 | _write_sysconfig(v, oh); | ||
| 1920 | |||
| 1921 | error: | ||
| 1922 | return ret; | ||
| 1913 | } | 1923 | } |
| 1914 | 1924 | ||
| 1915 | /** | 1925 | /** |
