diff options
author | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-09-21 10:34:09 -0600 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-09-21 15:11:02 -0600 |
commit | 9b579114efc4bd00532de33c783b4cb4638910ff (patch) | |
tree | 3dae39799b1b7a2e19d596431b9d79348d29be3f /arch/arm/mach-omap2/omap_hwmod.c | |
parent | 3827f9492bdff045ae57fe67e65ce7e259ed4219 (diff) | |
download | kernel_samsung_aries-9b579114efc4bd00532de33c783b4cb4638910ff.zip kernel_samsung_aries-9b579114efc4bd00532de33c783b4cb4638910ff.tar.gz kernel_samsung_aries-9b579114efc4bd00532de33c783b4cb4638910ff.tar.bz2 |
OMAP: hwmod: Fix omap_hwmod_reset wrong state test
The reset function wrongly used the state flag as a bit mask and was trying
to re-enable after a reset.
hwmod is still enabled for the PRCM point of view after a softreset
so there is no need to re-enable.
Remove the state check from omap_hwmod_reset since the _reset
function is checking that as well and in addition can generate
a warning
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
[b-cousson@ti.com: remove the wrong test, remove the re-enable]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 5bb25e3..100115f 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -1434,19 +1434,17 @@ void omap_hwmod_ocp_barrier(struct omap_hwmod *oh) * * Under some conditions, a driver may wish to reset the entire device. * Called from omap_device code. Returns -EINVAL on error or passes along - * the return value from _reset()/_enable(). + * the return value from _reset(). */ int omap_hwmod_reset(struct omap_hwmod *oh) { int r; - if (!oh || !(oh->_state & _HWMOD_STATE_ENABLED)) + if (!oh) return -EINVAL; mutex_lock(&omap_hwmod_mutex); r = _reset(oh); - if (!r) - r = _omap_hwmod_enable(oh); mutex_unlock(&omap_hwmod_mutex); return r; |