aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 91dc8636d644..88b0ba6c7484 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -140,7 +140,6 @@ typedef unsigned __bitwise__ ieee80211_tx_result;
140 140
141struct ieee80211_tx_data { 141struct ieee80211_tx_data {
142 struct sk_buff *skb; 142 struct sk_buff *skb;
143 struct net_device *dev;
144 struct ieee80211_local *local; 143 struct ieee80211_local *local;
145 struct ieee80211_sub_if_data *sdata; 144 struct ieee80211_sub_if_data *sdata;
146 struct sta_info *sta; 145 struct sta_info *sta;
@@ -298,6 +297,8 @@ struct ieee80211_if_managed {
298 297
299 unsigned long timers_running; /* used for quiesce/restart */ 298 unsigned long timers_running; /* used for quiesce/restart */
300 bool powersave; /* powersave requested for this iface */ 299 bool powersave; /* powersave requested for this iface */
300 enum ieee80211_smps_mode req_smps, /* requested smps mode */
301 ap_smps; /* smps mode AP thinks we're in */
301 302
302 unsigned long request; 303 unsigned long request;
303 304
@@ -433,6 +434,8 @@ struct ieee80211_sub_if_data {
433 434
434 int drop_unencrypted; 435 int drop_unencrypted;
435 436
437 char name[IFNAMSIZ];
438
436 /* 439 /*
437 * keep track of whether the HT opmode (stored in 440 * keep track of whether the HT opmode (stored in
438 * vif.bss_info.ht_operation_mode) is valid. 441 * vif.bss_info.ht_operation_mode) is valid.
@@ -586,6 +589,9 @@ struct ieee80211_local {
586 /* used for uploading changed mc list */ 589 /* used for uploading changed mc list */
587 struct work_struct reconfig_filter; 590 struct work_struct reconfig_filter;
588 591
592 /* used to reconfigure hardware SM PS */
593 struct work_struct recalc_smps;
594
589 /* aggregated multicast list */ 595 /* aggregated multicast list */
590 struct dev_addr_list *mc_list; 596 struct dev_addr_list *mc_list;
591 int mc_count; 597 int mc_count;
@@ -760,6 +766,8 @@ struct ieee80211_local {
760 int user_power_level; /* in dBm */ 766 int user_power_level; /* in dBm */
761 int power_constr_level; /* in dBm */ 767 int power_constr_level; /* in dBm */
762 768
769 enum ieee80211_smps_mode smps_mode;
770
763 struct work_struct restart_work; 771 struct work_struct restart_work;
764 772
765#ifdef CONFIG_MAC80211_DEBUGFS 773#ifdef CONFIG_MAC80211_DEBUGFS
@@ -874,6 +882,8 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
874void ieee80211_configure_filter(struct ieee80211_local *local); 882void ieee80211_configure_filter(struct ieee80211_local *local);
875u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); 883u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata);
876 884
885extern bool ieee80211_disable_40mhz_24ghz;
886
877/* STA code */ 887/* STA code */
878void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); 888void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
879int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, 889int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
@@ -938,6 +948,8 @@ void ieee80211_rx_bss_put(struct ieee80211_local *local,
938 struct ieee80211_bss *bss); 948 struct ieee80211_bss *bss);
939 949
940/* interface handling */ 950/* interface handling */
951int ieee80211_iface_init(void);
952void ieee80211_iface_exit(void);
941int ieee80211_if_add(struct ieee80211_local *local, const char *name, 953int ieee80211_if_add(struct ieee80211_local *local, const char *name,
942 struct net_device **new_dev, enum nl80211_iftype type, 954 struct net_device **new_dev, enum nl80211_iftype type,
943 struct vif_params *params); 955 struct vif_params *params);
@@ -976,6 +988,9 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1
976void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, 988void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
977 const u8 *da, u16 tid, 989 const u8 *da, u16 tid,
978 u16 initiator, u16 reason_code); 990 u16 initiator, u16 reason_code);
991int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata,
992 enum ieee80211_smps_mode smps, const u8 *da,
993 const u8 *bssid);
979 994
980void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da, 995void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da,
981 u16 tid, u16 initiator, u16 reason); 996 u16 tid, u16 initiator, u16 reason);
@@ -1086,6 +1101,10 @@ void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata,
1086u32 ieee80211_sta_get_rates(struct ieee80211_local *local, 1101u32 ieee80211_sta_get_rates(struct ieee80211_local *local,
1087 struct ieee802_11_elems *elems, 1102 struct ieee802_11_elems *elems,
1088 enum ieee80211_band band); 1103 enum ieee80211_band band);
1104int __ieee80211_request_smps(struct ieee80211_sub_if_data *sdata,
1105 enum ieee80211_smps_mode smps_mode);
1106void ieee80211_recalc_smps(struct ieee80211_local *local,
1107 struct ieee80211_sub_if_data *forsdata);
1089 1108
1090#ifdef CONFIG_MAC80211_NOINLINE 1109#ifdef CONFIG_MAC80211_NOINLINE
1091#define debug_noinline noinline 1110#define debug_noinline noinline