staging: ks7010: refactor hostif_sme_power_mgmt_set function

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>
This commit is contained in:
Sergio Paracuellos 2018-05-04 06:16:38 +02:00 committed by Greg Kroah-Hartman
parent 0d8be3067f
commit d87e9626c0

View 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);
}