OMAP: hwmod: Move pr_debug to improve the readability
authorBenoit Cousson <b-cousson@ti.com>
Fri, 1 Jul 2011 20:54:07 +0000 (22:54 +0200)
committerPaul Walmsley <paul@pwsan.com>
Sun, 10 Jul 2011 01:13:36 +0000 (19:13 -0600)
Move the pr_debug at the top of the function
to trace the entry even if the first test is failing.
That help understanding that we entered the function
but failed in it.

Move the _enable last part out of the test to reduce
indentation and improve readability.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod.c

index 64e983046217312964407c5a79c7d9ce74e986d6..e530bcbdebf4bb4c4b70c99a18e65eb8496df814 100644 (file)
@@ -1242,6 +1242,8 @@ static int _enable(struct omap_hwmod *oh)
 {
        int r;
 
+       pr_debug("omap_hwmod: %s: enabling\n", oh->name);
+
        if (oh->_state != _HWMOD_STATE_INITIALIZED &&
            oh->_state != _HWMOD_STATE_IDLE &&
            oh->_state != _HWMOD_STATE_DISABLED) {
@@ -1250,8 +1252,6 @@ static int _enable(struct omap_hwmod *oh)
                return -EINVAL;
        }
 
-       pr_debug("omap_hwmod: %s: enabling\n", oh->name);
-
        /* Mux pins for device runtime if populated */
        if (oh->mux && (!oh->mux->enabled ||
                        ((oh->_state == _HWMOD_STATE_IDLE) &&
@@ -1271,19 +1271,21 @@ static int _enable(struct omap_hwmod *oh)
                _deassert_hardreset(oh, oh->rst_lines[0].name);
 
        r = _wait_target_ready(oh);
-       if (!r) {
-               oh->_state = _HWMOD_STATE_ENABLED;
-
-               /* Access the sysconfig only if the target is ready */
-               if (oh->class->sysc) {
-                       if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
-                               _update_sysc_cache(oh);
-                       _enable_sysc(oh);
-               }
-       } else {
-               _disable_clocks(oh);
+       if (r) {
                pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
                         oh->name, r);
+               _disable_clocks(oh);
+
+               return r;
+       }
+
+       oh->_state = _HWMOD_STATE_ENABLED;
+
+       /* Access the sysconfig only if the target is ready */
+       if (oh->class->sysc) {
+               if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
+                       _update_sysc_cache(oh);
+               _enable_sysc(oh);
        }
 
        return r;
@@ -1299,14 +1301,14 @@ static int _enable(struct omap_hwmod *oh)
  */
 static int _idle(struct omap_hwmod *oh)
 {
+       pr_debug("omap_hwmod: %s: idling\n", oh->name);
+
        if (oh->_state != _HWMOD_STATE_ENABLED) {
                WARN(1, "omap_hwmod: %s: idle state can only be entered from "
                     "enabled state\n", oh->name);
                return -EINVAL;
        }
 
-       pr_debug("omap_hwmod: %s: idling\n", oh->name);
-
        if (oh->class->sysc)
                _idle_sysc(oh);
        _del_initiator_dep(oh, mpu_oh);