aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2013-02-28 03:49:11 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-03-06 10:35:54 -0500
commit30c97120c6c7893e5c6857a16229699b2b79dfbe (patch)
tree934946545b5e0570181f0d664eee6a899db4b1d0
parent098b8afbf23502041c091463aea10a91b735c4cf (diff)
mac80211: remove napi
Since two years no mac80211 driver implement support for NAPI. Looks this feature is unneeded, so remove it from generic mac80211 code. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/ieee80211_i.h5
-rw-r--r--net/mac80211/iface.c4
-rw-r--r--net/mac80211/main.c30
3 files changed, 0 insertions, 39 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 2518f0429b87..68087975c717 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1139,11 +1139,6 @@ struct ieee80211_local {
1139 1139
1140 struct ieee80211_sub_if_data __rcu *p2p_sdata; 1140 struct ieee80211_sub_if_data __rcu *p2p_sdata;
1141 1141
1142 /* dummy netdev for use w/ NAPI */
1143 struct net_device napi_dev;
1144
1145 struct napi_struct napi;
1146
1147 /* virtual monitor interface */ 1142 /* virtual monitor interface */
1148 struct ieee80211_sub_if_data __rcu *monitor_sdata; 1143 struct ieee80211_sub_if_data __rcu *monitor_sdata;
1149 struct cfg80211_chan_def monitor_chandef; 1144 struct cfg80211_chan_def monitor_chandef;
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index baaa8608e52d..1ee10cd1d5b6 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -485,8 +485,6 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
485 res = drv_start(local); 485 res = drv_start(local);
486 if (res) 486 if (res)
487 goto err_del_bss; 487 goto err_del_bss;
488 if (local->ops->napi_poll)
489 napi_enable(&local->napi);
490 /* we're brought up, everything changes */ 488 /* we're brought up, everything changes */
491 hw_reconf_flags = ~0; 489 hw_reconf_flags = ~0;
492 ieee80211_led_radio(local, true); 490 ieee80211_led_radio(local, true);
@@ -857,8 +855,6 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
857 ieee80211_recalc_ps(local, -1); 855 ieee80211_recalc_ps(local, -1);
858 856
859 if (local->open_count == 0) { 857 if (local->open_count == 0) {
860 if (local->ops->napi_poll)
861 napi_disable(&local->napi);
862 ieee80211_clear_tx_pending(local); 858 ieee80211_clear_tx_pending(local);
863 ieee80211_stop_device(local); 859 ieee80211_stop_device(local);
864 860
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 78554724f815..a55a7075dd8c 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -399,30 +399,6 @@ static int ieee80211_ifa6_changed(struct notifier_block *nb,
399} 399}
400#endif 400#endif
401 401
402static int ieee80211_napi_poll(struct napi_struct *napi, int budget)
403{
404 struct ieee80211_local *local =
405 container_of(napi, struct ieee80211_local, napi);
406
407 return local->ops->napi_poll(&local->hw, budget);
408}
409
410void ieee80211_napi_schedule(struct ieee80211_hw *hw)
411{
412 struct ieee80211_local *local = hw_to_local(hw);
413
414 napi_schedule(&local->napi);
415}
416EXPORT_SYMBOL(ieee80211_napi_schedule);
417
418void ieee80211_napi_complete(struct ieee80211_hw *hw)
419{
420 struct ieee80211_local *local = hw_to_local(hw);
421
422 napi_complete(&local->napi);
423}
424EXPORT_SYMBOL(ieee80211_napi_complete);
425
426/* There isn't a lot of sense in it, but you can transmit anything you like */ 402/* There isn't a lot of sense in it, but you can transmit anything you like */
427static const struct ieee80211_txrx_stypes 403static const struct ieee80211_txrx_stypes
428ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = { 404ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = {
@@ -686,9 +662,6 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
686 skb_queue_head_init(&local->skb_queue); 662 skb_queue_head_init(&local->skb_queue);
687 skb_queue_head_init(&local->skb_queue_unreliable); 663 skb_queue_head_init(&local->skb_queue_unreliable);
688 664
689 /* init dummy netdev for use w/ NAPI */
690 init_dummy_netdev(&local->napi_dev);
691
692 ieee80211_led_names(local); 665 ieee80211_led_names(local);
693 666
694 ieee80211_roc_setup(local); 667 ieee80211_roc_setup(local);
@@ -1043,9 +1016,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
1043 goto fail_ifa6; 1016 goto fail_ifa6;
1044#endif 1017#endif
1045 1018
1046 netif_napi_add(&local->napi_dev, &local->napi, ieee80211_napi_poll,
1047 local->hw.napi_weight);
1048
1049 return 0; 1019 return 0;
1050 1020
1051#if IS_ENABLED(CONFIG_IPV6) 1021#if IS_ENABLED(CONFIG_IPV6)