mac80211: convert HW flags to unsigned long bitmap
As we're running out of hardware capability flags pretty quickly, convert them to use the regular test_bit() style unsigned long bitmaps. This introduces a number of helper functions/macros to set and to test the bits, along with new debugfs code. The occurrences of an explicit __clear_bit() are intentional, the drivers were never supposed to change their supported bits on the fly. We should investigate changing this to be a per-frame flag. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -680,7 +680,7 @@ void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
|
||||
info->control.rates[i].count = 0;
|
||||
}
|
||||
|
||||
if (sdata->local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL)
|
||||
if (ieee80211_hw_check(&sdata->local->hw, HAS_RATE_CONTROL))
|
||||
return;
|
||||
|
||||
if (ista) {
|
||||
@@ -691,7 +691,7 @@ void rate_control_get_rate(struct ieee80211_sub_if_data *sdata,
|
||||
ref->ops->get_rate(ref->priv, NULL, NULL, txrc);
|
||||
}
|
||||
|
||||
if (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_RC_TABLE)
|
||||
if (ieee80211_hw_check(&sdata->local->hw, SUPPORTS_RC_TABLE))
|
||||
return;
|
||||
|
||||
ieee80211_get_tx_rates(&sdata->vif, ista, txrc->skb,
|
||||
@@ -733,7 +733,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
|
||||
if (local->open_count)
|
||||
return -EBUSY;
|
||||
|
||||
if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) {
|
||||
if (ieee80211_hw_check(&local->hw, HAS_RATE_CONTROL)) {
|
||||
if (WARN_ON(!local->ops->set_rts_threshold))
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user