ath10k: move ath10k_mac_tdls_vif*() functions
To be able to use ath10k_mac_tdls_vif_stations_count() in ath10k_hw_scan() in the following patch, move the functions earlier in the file. This commit is pure code move, no functional changes. Signed-off-by: Anilkumar Kolli <akolli@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
20665a9076
commit
dd0f9cd6bc
@@ -5585,6 +5585,59 @@ static void ath10k_mac_op_set_coverage_class(struct ieee80211_hw *hw, s16 value)
|
|||||||
ar->hw_params.hw_ops->set_coverage_class(ar, value);
|
ar->hw_params.hw_ops->set_coverage_class(ar, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct ath10k_mac_tdls_iter_data {
|
||||||
|
u32 num_tdls_stations;
|
||||||
|
struct ieee80211_vif *curr_vif;
|
||||||
|
};
|
||||||
|
|
||||||
|
static void ath10k_mac_tdls_vif_stations_count_iter(void *data,
|
||||||
|
struct ieee80211_sta *sta)
|
||||||
|
{
|
||||||
|
struct ath10k_mac_tdls_iter_data *iter_data = data;
|
||||||
|
struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv;
|
||||||
|
struct ieee80211_vif *sta_vif = arsta->arvif->vif;
|
||||||
|
|
||||||
|
if (sta->tdls && sta_vif == iter_data->curr_vif)
|
||||||
|
iter_data->num_tdls_stations++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int ath10k_mac_tdls_vif_stations_count(struct ieee80211_hw *hw,
|
||||||
|
struct ieee80211_vif *vif)
|
||||||
|
{
|
||||||
|
struct ath10k_mac_tdls_iter_data data = {};
|
||||||
|
|
||||||
|
data.curr_vif = vif;
|
||||||
|
|
||||||
|
ieee80211_iterate_stations_atomic(hw,
|
||||||
|
ath10k_mac_tdls_vif_stations_count_iter,
|
||||||
|
&data);
|
||||||
|
return data.num_tdls_stations;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ath10k_mac_tdls_vifs_count_iter(void *data, u8 *mac,
|
||||||
|
struct ieee80211_vif *vif)
|
||||||
|
{
|
||||||
|
struct ath10k_vif *arvif = (void *)vif->drv_priv;
|
||||||
|
int *num_tdls_vifs = data;
|
||||||
|
|
||||||
|
if (vif->type != NL80211_IFTYPE_STATION)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (ath10k_mac_tdls_vif_stations_count(arvif->ar->hw, vif) > 0)
|
||||||
|
(*num_tdls_vifs)++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int ath10k_mac_tdls_vifs_count(struct ieee80211_hw *hw)
|
||||||
|
{
|
||||||
|
int num_tdls_vifs = 0;
|
||||||
|
|
||||||
|
ieee80211_iterate_active_interfaces_atomic(hw,
|
||||||
|
IEEE80211_IFACE_ITER_NORMAL,
|
||||||
|
ath10k_mac_tdls_vifs_count_iter,
|
||||||
|
&num_tdls_vifs);
|
||||||
|
return num_tdls_vifs;
|
||||||
|
}
|
||||||
|
|
||||||
static int ath10k_hw_scan(struct ieee80211_hw *hw,
|
static int ath10k_hw_scan(struct ieee80211_hw *hw,
|
||||||
struct ieee80211_vif *vif,
|
struct ieee80211_vif *vif,
|
||||||
struct ieee80211_scan_request *hw_req)
|
struct ieee80211_scan_request *hw_req)
|
||||||
@@ -6013,59 +6066,6 @@ static void ath10k_mac_dec_num_stations(struct ath10k_vif *arvif,
|
|||||||
ar->num_stations--;
|
ar->num_stations--;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ath10k_mac_tdls_iter_data {
|
|
||||||
u32 num_tdls_stations;
|
|
||||||
struct ieee80211_vif *curr_vif;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void ath10k_mac_tdls_vif_stations_count_iter(void *data,
|
|
||||||
struct ieee80211_sta *sta)
|
|
||||||
{
|
|
||||||
struct ath10k_mac_tdls_iter_data *iter_data = data;
|
|
||||||
struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv;
|
|
||||||
struct ieee80211_vif *sta_vif = arsta->arvif->vif;
|
|
||||||
|
|
||||||
if (sta->tdls && sta_vif == iter_data->curr_vif)
|
|
||||||
iter_data->num_tdls_stations++;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ath10k_mac_tdls_vif_stations_count(struct ieee80211_hw *hw,
|
|
||||||
struct ieee80211_vif *vif)
|
|
||||||
{
|
|
||||||
struct ath10k_mac_tdls_iter_data data = {};
|
|
||||||
|
|
||||||
data.curr_vif = vif;
|
|
||||||
|
|
||||||
ieee80211_iterate_stations_atomic(hw,
|
|
||||||
ath10k_mac_tdls_vif_stations_count_iter,
|
|
||||||
&data);
|
|
||||||
return data.num_tdls_stations;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ath10k_mac_tdls_vifs_count_iter(void *data, u8 *mac,
|
|
||||||
struct ieee80211_vif *vif)
|
|
||||||
{
|
|
||||||
struct ath10k_vif *arvif = (void *)vif->drv_priv;
|
|
||||||
int *num_tdls_vifs = data;
|
|
||||||
|
|
||||||
if (vif->type != NL80211_IFTYPE_STATION)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (ath10k_mac_tdls_vif_stations_count(arvif->ar->hw, vif) > 0)
|
|
||||||
(*num_tdls_vifs)++;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ath10k_mac_tdls_vifs_count(struct ieee80211_hw *hw)
|
|
||||||
{
|
|
||||||
int num_tdls_vifs = 0;
|
|
||||||
|
|
||||||
ieee80211_iterate_active_interfaces_atomic(hw,
|
|
||||||
IEEE80211_IFACE_ITER_NORMAL,
|
|
||||||
ath10k_mac_tdls_vifs_count_iter,
|
|
||||||
&num_tdls_vifs);
|
|
||||||
return num_tdls_vifs;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ath10k_sta_state(struct ieee80211_hw *hw,
|
static int ath10k_sta_state(struct ieee80211_hw *hw,
|
||||||
struct ieee80211_vif *vif,
|
struct ieee80211_vif *vif,
|
||||||
struct ieee80211_sta *sta,
|
struct ieee80211_sta *sta,
|
||||||
|
Reference in New Issue
Block a user