Skip to content

Commit 0a44dfc

Browse files
committed
wifi: mac80211: simplify non-chanctx drivers
There are still surprisingly many non-chanctx drivers, but in mac80211 that code is a bit awkward. Simplify this by having those drivers assign 'emulated' ops, so that the mac80211 code can be more unified between non-chanctx/chanctx drivers. This cuts the number of places caring about it by about 15, which are scattered across - now they're fewer and no longer in the channel context handling. Link: https://msgid.link/20240129194108.6d0ead50f5cf.I60d093b2fc81ca1853925a4d0ac3a2337d5baa5b@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1 parent 2d9698d commit 0a44dfc

File tree

58 files changed

+444
-207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+444
-207
lines changed

drivers/net/wireless/admtek/adm8211.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1759,6 +1759,10 @@ static int adm8211_alloc_rings(struct ieee80211_hw *dev)
17591759
}
17601760

17611761
static const struct ieee80211_ops adm8211_ops = {
1762+
.add_chanctx = ieee80211_emulate_add_chanctx,
1763+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
1764+
.change_chanctx = ieee80211_emulate_change_chanctx,
1765+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
17621766
.tx = adm8211_tx,
17631767
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
17641768
.start = adm8211_start,

drivers/net/wireless/ath/ar5523/ar5523.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,6 +1358,10 @@ static void ar5523_configure_filter(struct ieee80211_hw *hw,
13581358
}
13591359

13601360
static const struct ieee80211_ops ar5523_ops = {
1361+
.add_chanctx = ieee80211_emulate_add_chanctx,
1362+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
1363+
.change_chanctx = ieee80211_emulate_change_chanctx,
1364+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
13611365
.start = ar5523_start,
13621366
.stop = ar5523_stop,
13631367
.tx = ar5523_tx,

drivers/net/wireless/ath/ath5k/mac80211-ops.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,10 @@ static int ath5k_set_ringparam(struct ieee80211_hw *hw, u32 tx, u32 rx)
779779

780780

781781
const struct ieee80211_ops ath5k_hw_ops = {
782+
.add_chanctx = ieee80211_emulate_add_chanctx,
783+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
784+
.change_chanctx = ieee80211_emulate_change_chanctx,
785+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
782786
.tx = ath5k_tx,
783787
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
784788
.start = ath5k_start,

drivers/net/wireless/ath/ath9k/htc_drv_main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1868,6 +1868,10 @@ static void ath9k_htc_channel_switch_beacon(struct ieee80211_hw *hw,
18681868
}
18691869

18701870
struct ieee80211_ops ath9k_htc_ops = {
1871+
.add_chanctx = ieee80211_emulate_add_chanctx,
1872+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
1873+
.change_chanctx = ieee80211_emulate_change_chanctx,
1874+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
18711875
.tx = ath9k_htc_tx,
18721876
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
18731877
.start = ath9k_htc_start,

drivers/net/wireless/ath/ath9k/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2786,6 +2786,10 @@ static int ath9k_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
27862786
}
27872787

27882788
struct ieee80211_ops ath9k_ops = {
2789+
.add_chanctx = ieee80211_emulate_add_chanctx,
2790+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
2791+
.change_chanctx = ieee80211_emulate_change_chanctx,
2792+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
27892793
.tx = ath9k_tx,
27902794
.start = ath9k_start,
27912795
.stop = ath9k_stop,

drivers/net/wireless/ath/carl9170/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1712,6 +1712,10 @@ static bool carl9170_tx_frames_pending(struct ieee80211_hw *hw)
17121712
}
17131713

17141714
static const struct ieee80211_ops carl9170_ops = {
1715+
.add_chanctx = ieee80211_emulate_add_chanctx,
1716+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
1717+
.change_chanctx = ieee80211_emulate_change_chanctx,
1718+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
17151719
.start = carl9170_op_start,
17161720
.stop = carl9170_op_stop,
17171721
.tx = carl9170_op_tx,

drivers/net/wireless/ath/wcn36xx/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,6 +1347,10 @@ static void wcn36xx_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif
13471347
}
13481348

13491349
static const struct ieee80211_ops wcn36xx_ops = {
1350+
.add_chanctx = ieee80211_emulate_add_chanctx,
1351+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
1352+
.change_chanctx = ieee80211_emulate_change_chanctx,
1353+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
13501354
.start = wcn36xx_start,
13511355
.stop = wcn36xx_stop,
13521356
.add_interface = wcn36xx_add_interface,

drivers/net/wireless/atmel/at76c50x-usb.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2178,6 +2178,10 @@ static int at76_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
21782178
}
21792179

21802180
static const struct ieee80211_ops at76_ops = {
2181+
.add_chanctx = ieee80211_emulate_add_chanctx,
2182+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
2183+
.change_chanctx = ieee80211_emulate_change_chanctx,
2184+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
21812185
.tx = at76_mac80211_tx,
21822186
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
21832187
.add_interface = at76_add_interface,

drivers/net/wireless/broadcom/b43/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5172,6 +5172,10 @@ static int b43_op_get_survey(struct ieee80211_hw *hw, int idx,
51725172
}
51735173

51745174
static const struct ieee80211_ops b43_hw_ops = {
5175+
.add_chanctx = ieee80211_emulate_add_chanctx,
5176+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
5177+
.change_chanctx = ieee80211_emulate_change_chanctx,
5178+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
51755179
.tx = b43_op_tx,
51765180
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
51775181
.conf_tx = b43_op_conf_tx,

drivers/net/wireless/broadcom/b43legacy/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3531,6 +3531,10 @@ static int b43legacy_op_get_survey(struct ieee80211_hw *hw, int idx,
35313531
}
35323532

35333533
static const struct ieee80211_ops b43legacy_hw_ops = {
3534+
.add_chanctx = ieee80211_emulate_add_chanctx,
3535+
.remove_chanctx = ieee80211_emulate_remove_chanctx,
3536+
.change_chanctx = ieee80211_emulate_change_chanctx,
3537+
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
35343538
.tx = b43legacy_op_tx,
35353539
.wake_tx_queue = ieee80211_handle_wake_tx_queue,
35363540
.conf_tx = b43legacy_op_conf_tx,

0 commit comments

Comments
 (0)