staging: ks7010: remove switch statement
authorTobin C. Harding <me@tobin.cc>
Mon, 27 Feb 2017 03:14:47 +0000 (14:14 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Mar 2017 08:17:05 +0000 (09:17 +0100)
Switch statement uses one [trivial] case and a default case holding
bulk of code. We can swap the switch statement with an if/return
statement as replacement for the original switch. This can be done
without changing the program logic.

Remove switch statement. Use original switch parameter as conditional
and return if conditional evaluates to true. Reduce level of
indentation. Do not change the program logic.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/ks7010_sdio.c

index 0e07b83d3fd6ea2b32d9418ba738d6b1c5db0422..04130fb0184218d777fef428d19d199ec48232d2 100644 (file)
@@ -183,63 +183,60 @@ static int _ks_wlan_hw_power_save(struct ks_wlan_private *priv)
        if (priv->dev_state != DEVICE_STATE_SLEEP)
                return 0;
 
-       switch (atomic_read(&priv->psstatus.status)) {
-       case PS_SNOOZE: /* 4 */
-               break;
-       default:
-               DPRINTK(5, "\npsstatus.status=%d\npsstatus.confirm_wait=%d\npsstatus.snooze_guard=%d\ncnt_txqbody=%d\n",
-                       atomic_read(&priv->psstatus.status),
-                       atomic_read(&priv->psstatus.confirm_wait),
-                       atomic_read(&priv->psstatus.snooze_guard),
-                       cnt_txqbody(priv));
-
-               if (!atomic_read(&priv->psstatus.confirm_wait) &&
-                   !atomic_read(&priv->psstatus.snooze_guard) &&
-                   !cnt_txqbody(priv)) {
+       if (atomic_read(&priv->psstatus.status) == PS_SNOOZE)
+               return 0;
+
+       DPRINTK(5, "\npsstatus.status=%d\npsstatus.confirm_wait=%d\npsstatus.snooze_guard=%d\ncnt_txqbody=%d\n",
+               atomic_read(&priv->psstatus.status),
+               atomic_read(&priv->psstatus.confirm_wait),
+               atomic_read(&priv->psstatus.snooze_guard),
+               cnt_txqbody(priv));
+
+       if (!atomic_read(&priv->psstatus.confirm_wait) &&
+               !atomic_read(&priv->psstatus.snooze_guard) &&
+               !cnt_txqbody(priv)) {
+               retval =
+                       ks7010_sdio_read(priv, INT_PENDING,
+                                       &rw_data,
+                                       sizeof(rw_data));
+               if (retval) {
+                       DPRINTK(1,
+                               " error : INT_PENDING=%02X\n",
+                               rw_data);
+                       queue_delayed_work(priv->ks_wlan_hw.ks7010sdio_wq,
+                                       &priv->ks_wlan_hw.rw_wq, 1);
+                       return 0;
+               }
+               if (!rw_data) {
+                       rw_data = GCR_B_DOZE;
                        retval =
-                               ks7010_sdio_read(priv, INT_PENDING,
+                               ks7010_sdio_write(priv,
+                                               GCR_B,
                                                &rw_data,
                                                sizeof(rw_data));
                        if (retval) {
                                DPRINTK(1,
-                                       " error : INT_PENDING=%02X\n",
+                                       " error : GCR_B=%02X\n",
                                        rw_data);
-                               queue_delayed_work(priv->ks_wlan_hw.ks7010sdio_wq,
-                                               &priv->ks_wlan_hw.rw_wq, 1);
-                               break;
-                       }
-                       if (!rw_data) {
-                               rw_data = GCR_B_DOZE;
-                               retval =
-                                       ks7010_sdio_write(priv,
-                                                       GCR_B,
-                                                       &rw_data,
-                                                       sizeof(rw_data));
-                               if (retval) {
-                                       DPRINTK(1,
-                                               " error : GCR_B=%02X\n",
-                                               rw_data);
-                                       queue_delayed_work
-                                               (priv->ks_wlan_hw.ks7010sdio_wq,
-                                                       &priv->ks_wlan_hw.rw_wq, 1);
-                                       break;
-                               }
-                               DPRINTK(4,
-                                       "PMG SET!! : GCR_B=%02X\n",
-                                       rw_data);
-                               atomic_set(&priv->psstatus.status, PS_SNOOZE);
-                               DPRINTK(3,
-                                       "psstatus.status=PS_SNOOZE\n");
-                       } else {
-                               queue_delayed_work(priv->ks_wlan_hw.ks7010sdio_wq,
+                               queue_delayed_work
+                                       (priv->ks_wlan_hw.ks7010sdio_wq,
                                                &priv->ks_wlan_hw.rw_wq, 1);
+                               return 0;
                        }
+                       DPRINTK(4,
+                               "PMG SET!! : GCR_B=%02X\n",
+                               rw_data);
+                       atomic_set(&priv->psstatus.status, PS_SNOOZE);
+                       DPRINTK(3,
+                               "psstatus.status=PS_SNOOZE\n");
                } else {
                        queue_delayed_work(priv->ks_wlan_hw.ks7010sdio_wq,
-                                       &priv->ks_wlan_hw.rw_wq,
-                                       0);
+                                       &priv->ks_wlan_hw.rw_wq, 1);
                }
-               break;
+       } else {
+               queue_delayed_work(priv->ks_wlan_hw.ks7010sdio_wq,
+                               &priv->ks_wlan_hw.rw_wq,
+                               0);
        }
 
        return 0;