staging: wfx: declare wfx_set_pm() static

wfx_set_pm() is now only used by sta.c. It can be declared static.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191217161318.31402-32-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jérôme Pouiller 2019-12-17 16:15:11 +00:00 committed by Greg Kroah-Hartman
parent 155665d87e
commit 97e587bd08
2 changed files with 30 additions and 28 deletions

View File

@ -326,6 +326,36 @@ void wfx_configure_filter(struct ieee80211_hw *hw,
}
}
static int wfx_set_pm(struct wfx_vif *wvif,
const struct hif_req_set_pm_mode *arg)
{
struct hif_req_set_pm_mode pm = *arg;
u16 uapsd_flags;
int ret;
if (wvif->state != WFX_STATE_STA || !wvif->bss_params.aid)
return 0;
memcpy(&uapsd_flags, &wvif->uapsd_info, sizeof(uapsd_flags));
if (uapsd_flags != 0)
pm.pm_mode.fast_psm = 0;
// Kernel disable PowerSave when multiple vifs are in use. In contrary,
// it is absolutly necessary to enable PowerSave for WF200
// FIXME: only if channel vif0 != channel vif1
if (wvif_count(wvif->wdev) > 1) {
pm.pm_mode.enter_psm = 1;
pm.pm_mode.fast_psm = 0;
}
if (!wait_for_completion_timeout(&wvif->set_pm_mode_complete,
msecs_to_jiffies(300)))
dev_warn(wvif->wdev->dev,
"timeout while waiting of set_pm_mode_complete\n");
return hif_set_pm(wvif, &pm);
}
int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
u16 queue, const struct ieee80211_tx_queue_params *params)
{
@ -371,33 +401,6 @@ int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
return ret;
}
int wfx_set_pm(struct wfx_vif *wvif, const struct hif_req_set_pm_mode *arg)
{
struct hif_req_set_pm_mode pm = *arg;
u16 uapsd_flags;
if (wvif->state != WFX_STATE_STA || !wvif->bss_params.aid)
return 0;
memcpy(&uapsd_flags, &wvif->uapsd_info, sizeof(uapsd_flags));
if (uapsd_flags != 0)
pm.pm_mode.fast_psm = 0;
// Kernel disable PowerSave when multiple vifs are in use. In contrary,
// it is absolutly necessary to enable PowerSave for WF200
if (wvif_count(wvif->wdev) > 1) {
pm.pm_mode.enter_psm = 1;
pm.pm_mode.fast_psm = 0;
}
if (!wait_for_completion_timeout(&wvif->set_pm_mode_complete,
msecs_to_jiffies(300)))
dev_warn(wvif->wdev->dev,
"timeout while waiting of set_pm_mode_complete\n");
return hif_set_pm(wvif, &pm);
}
int wfx_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
{
struct wfx_dev *wdev = hw->priv;

View File

@ -97,7 +97,6 @@ void wfx_suspend_resume(struct wfx_vif *wvif,
// Other Helpers
void wfx_cqm_bssloss_sm(struct wfx_vif *wvif, int init, int good, int bad);
void wfx_update_filtering(struct wfx_vif *wvif);
int wfx_set_pm(struct wfx_vif *wvif, const struct hif_req_set_pm_mode *arg);
int wfx_fwd_probe_req(struct wfx_vif *wvif, bool enable);
#endif /* WFX_STA_H */