Commit 97e587bd authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

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: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191217161318.31402-32-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 155665d8
Loading
Loading
Loading
Loading
+30 −27
Original line number Diff line number Diff line
@@ -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 @@ out:
	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;
+0 −1
Original line number Diff line number Diff line
@@ -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 */