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.paracuel...@gmail.com>
---
 drivers/staging/ks7010/ks_hostif.c | 33 ++++++++++-----------------------
 1 file changed, 10 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/ks7010/ks_hostif.c 
b/drivers/staging/ks7010/ks_hostif.c
index 3a6385c..359187e 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -1880,36 +1880,23 @@ void hostif_sme_multicast_set(struct ks_wlan_private 
*priv)
        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);
 }
 
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to