staging: ks7010: refactor hostif_sme_power_mgmt_set function
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Fri, 4 May 2018 04:16:38 +0000 (06:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 May 2018 01:58:40 +0000 (18:58 -0700)
This commit refactor hostif_sme_power_mgmt_set avoiding to
use switch-case statement and simplifying data paths. This
improves readability.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/ks_hostif.c

index 3a6385c..359187e 100644 (file)
@@ -1880,36 +1880,23 @@ spin_unlock:
        spin_unlock(&priv->multicast_spin);
 }
 
-static
-void hostif_sme_power_mgmt_set(struct ks_wlan_private *priv)
+static void hostif_sme_power_mgmt_set(struct ks_wlan_private *priv)
 {
        u32 mode, wake_up, receive_dtims;
 
-       switch (priv->reg.power_mgmt) {
-       case POWER_MGMT_SAVE1:
-               mode = (priv->reg.operation_mode == MODE_INFRASTRUCTURE) ?
-                       POWER_SAVE : POWER_ACTIVE;
-               wake_up = 0;
-               receive_dtims = 0;
-               break;
-       case POWER_MGMT_SAVE2:
-               if (priv->reg.operation_mode == MODE_INFRASTRUCTURE) {
-                       mode = POWER_SAVE;
-                       wake_up = 0;
-                       receive_dtims = 1;
-               } else {
-                       mode = POWER_ACTIVE;
-                       wake_up = 0;
-                       receive_dtims = 0;
-               }
-               break;
-       case POWER_MGMT_ACTIVE:
-       default:
+       if (priv->reg.power_mgmt != POWER_MGMT_SAVE1 &&
+           priv->reg.power_mgmt != POWER_MGMT_SAVE2) {
                mode = POWER_ACTIVE;
                wake_up = 0;
                receive_dtims = 0;
-               break;
+       } else {
+               mode = (priv->reg.operation_mode == MODE_INFRASTRUCTURE) ?
+                       POWER_SAVE : POWER_ACTIVE;
+               wake_up = 0;
+               receive_dtims = (priv->reg.operation_mode == MODE_INFRASTRUCTURE &&
+                                priv->reg.power_mgmt == POWER_MGMT_SAVE2);
        }
+
        hostif_power_mgmt_request(priv, mode, wake_up, receive_dtims);
 }