summaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-06 17:07:41 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-11 12:45:00 -0500
commit09b85568c142fc1c776dea86a24fcb05f0eeb48b (patch)
tree7ab219e5f4b4b9d0c698d83e83ce1e1ea43cd3d3 /net/mac80211/mlme.c
parentef429dadf33feeb150098dbe84ccaa877e3261f6 (diff)
mac80211: remove dynamic PS driver interface
The functions were added for some sort of Bluetooth coexistence, but aren't used, so remove them again. Reviewed-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c42
1 files changed, 2 insertions, 40 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index a29d09cb834c..1e7662c5788e 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -951,39 +951,6 @@ static u32 ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,
951 return 0; 951 return 0;
952} 952}
953 953
954void ieee80211_enable_dyn_ps(struct ieee80211_vif *vif)
955{
956 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
957 struct ieee80211_local *local = sdata->local;
958 struct ieee80211_conf *conf = &local->hw.conf;
959
960 WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION ||
961 !(local->hw.flags & IEEE80211_HW_SUPPORTS_PS) ||
962 (local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_PS));
963
964 local->disable_dynamic_ps = false;
965 conf->dynamic_ps_timeout = local->dynamic_ps_user_timeout;
966}
967EXPORT_SYMBOL(ieee80211_enable_dyn_ps);
968
969void ieee80211_disable_dyn_ps(struct ieee80211_vif *vif)
970{
971 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
972 struct ieee80211_local *local = sdata->local;
973 struct ieee80211_conf *conf = &local->hw.conf;
974
975 WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION ||
976 !(local->hw.flags & IEEE80211_HW_SUPPORTS_PS) ||
977 (local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_PS));
978
979 local->disable_dynamic_ps = true;
980 conf->dynamic_ps_timeout = 0;
981 del_timer_sync(&local->dynamic_ps_timer);
982 ieee80211_queue_work(&local->hw,
983 &local->dynamic_ps_enable_work);
984}
985EXPORT_SYMBOL(ieee80211_disable_dyn_ps);
986
987/* powersave */ 954/* powersave */
988static void ieee80211_enable_ps(struct ieee80211_local *local, 955static void ieee80211_enable_ps(struct ieee80211_local *local,
989 struct ieee80211_sub_if_data *sdata) 956 struct ieee80211_sub_if_data *sdata)
@@ -1086,7 +1053,6 @@ void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency)
1086 } 1053 }
1087 1054
1088 if (count == 1 && ieee80211_powersave_allowed(found)) { 1055 if (count == 1 && ieee80211_powersave_allowed(found)) {
1089 struct ieee80211_conf *conf = &local->hw.conf;
1090 s32 beaconint_us; 1056 s32 beaconint_us;
1091 1057
1092 if (latency < 0) 1058 if (latency < 0)
@@ -1110,10 +1076,7 @@ void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency)
1110 else 1076 else
1111 timeout = 100; 1077 timeout = 100;
1112 } 1078 }
1113 local->dynamic_ps_user_timeout = timeout; 1079 local->hw.conf.dynamic_ps_timeout = timeout;
1114 if (!local->disable_dynamic_ps)
1115 conf->dynamic_ps_timeout =
1116 local->dynamic_ps_user_timeout;
1117 1080
1118 if (beaconint_us > latency) { 1081 if (beaconint_us > latency) {
1119 local->ps_sdata = NULL; 1082 local->ps_sdata = NULL;
@@ -1183,8 +1146,7 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work)
1183 if (local->hw.conf.flags & IEEE80211_CONF_PS) 1146 if (local->hw.conf.flags & IEEE80211_CONF_PS)
1184 return; 1147 return;
1185 1148
1186 if (!local->disable_dynamic_ps && 1149 if (local->hw.conf.dynamic_ps_timeout > 0) {
1187 local->hw.conf.dynamic_ps_timeout > 0) {
1188 /* don't enter PS if TX frames are pending */ 1150 /* don't enter PS if TX frames are pending */
1189 if (drv_tx_frames_pending(local)) { 1151 if (drv_tx_frames_pending(local)) {
1190 mod_timer(&local->dynamic_ps_timer, jiffies + 1152 mod_timer(&local->dynamic_ps_timer, jiffies +