diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 21 |
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 | ||
141 | struct ieee80211_tx_data { | 141 | struct 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, | |||
874 | void ieee80211_configure_filter(struct ieee80211_local *local); | 882 | void ieee80211_configure_filter(struct ieee80211_local *local); |
875 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); | 883 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); |
876 | 884 | ||
885 | extern bool ieee80211_disable_40mhz_24ghz; | ||
886 | |||
877 | /* STA code */ | 887 | /* STA code */ |
878 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); | 888 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); |
879 | int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, | 889 | int 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 */ |
951 | int ieee80211_iface_init(void); | ||
952 | void ieee80211_iface_exit(void); | ||
941 | int ieee80211_if_add(struct ieee80211_local *local, const char *name, | 953 | int 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 | |||
976 | void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata, | 988 | void 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); |
991 | int 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 | ||
980 | void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da, | 995 | void 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, | |||
1086 | u32 ieee80211_sta_get_rates(struct ieee80211_local *local, | 1101 | u32 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); |
1104 | int __ieee80211_request_smps(struct ieee80211_sub_if_data *sdata, | ||
1105 | enum ieee80211_smps_mode smps_mode); | ||
1106 | void 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 |