|
@@ -1066,10 +1066,10 @@ void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success)
|
|
|
}
|
|
|
EXPORT_SYMBOL(ieee80211_chswitch_done);
|
|
|
|
|
|
-static void ieee80211_chswitch_timer(unsigned long data)
|
|
|
+static void ieee80211_chswitch_timer(struct timer_list *t)
|
|
|
{
|
|
|
struct ieee80211_sub_if_data *sdata =
|
|
|
- (struct ieee80211_sub_if_data *) data;
|
|
|
+ from_timer(sdata, t, u.mgd.chswitch_timer);
|
|
|
|
|
|
ieee80211_queue_work(&sdata->local->hw, &sdata->u.mgd.chswitch_work);
|
|
|
}
|
|
@@ -1577,9 +1577,9 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void ieee80211_dynamic_ps_timer(unsigned long data)
|
|
|
+void ieee80211_dynamic_ps_timer(struct timer_list *t)
|
|
|
{
|
|
|
- struct ieee80211_local *local = (void *) data;
|
|
|
+ struct ieee80211_local *local = from_timer(local, t, dynamic_ps_timer);
|
|
|
|
|
|
ieee80211_queue_work(&local->hw, &local->dynamic_ps_enable_work);
|
|
|
}
|
|
@@ -3711,10 +3711,10 @@ void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
|
|
|
sdata_unlock(sdata);
|
|
|
}
|
|
|
|
|
|
-static void ieee80211_sta_timer(unsigned long data)
|
|
|
+static void ieee80211_sta_timer(struct timer_list *t)
|
|
|
{
|
|
|
struct ieee80211_sub_if_data *sdata =
|
|
|
- (struct ieee80211_sub_if_data *) data;
|
|
|
+ from_timer(sdata, t, u.mgd.timer);
|
|
|
|
|
|
ieee80211_queue_work(&sdata->local->hw, &sdata->work);
|
|
|
}
|
|
@@ -3991,10 +3991,10 @@ void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
|
|
|
sdata_unlock(sdata);
|
|
|
}
|
|
|
|
|
|
-static void ieee80211_sta_bcn_mon_timer(unsigned long data)
|
|
|
+static void ieee80211_sta_bcn_mon_timer(struct timer_list *t)
|
|
|
{
|
|
|
struct ieee80211_sub_if_data *sdata =
|
|
|
- (struct ieee80211_sub_if_data *) data;
|
|
|
+ from_timer(sdata, t, u.mgd.bcn_mon_timer);
|
|
|
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
|
|
|
|
|
if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn)
|
|
@@ -4005,10 +4005,10 @@ static void ieee80211_sta_bcn_mon_timer(unsigned long data)
|
|
|
&sdata->u.mgd.beacon_connection_loss_work);
|
|
|
}
|
|
|
|
|
|
-static void ieee80211_sta_conn_mon_timer(unsigned long data)
|
|
|
+static void ieee80211_sta_conn_mon_timer(struct timer_list *t)
|
|
|
{
|
|
|
struct ieee80211_sub_if_data *sdata =
|
|
|
- (struct ieee80211_sub_if_data *) data;
|
|
|
+ from_timer(sdata, t, u.mgd.conn_mon_timer);
|
|
|
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
|
|
struct ieee80211_local *local = sdata->local;
|
|
|
|
|
@@ -4139,14 +4139,10 @@ void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
|
|
|
INIT_WORK(&ifmgd->request_smps_work, ieee80211_request_smps_mgd_work);
|
|
|
INIT_DELAYED_WORK(&ifmgd->tdls_peer_del_work,
|
|
|
ieee80211_tdls_peer_del_work);
|
|
|
- setup_timer(&ifmgd->timer, ieee80211_sta_timer,
|
|
|
- (unsigned long) sdata);
|
|
|
- setup_timer(&ifmgd->bcn_mon_timer, ieee80211_sta_bcn_mon_timer,
|
|
|
- (unsigned long) sdata);
|
|
|
- setup_timer(&ifmgd->conn_mon_timer, ieee80211_sta_conn_mon_timer,
|
|
|
- (unsigned long) sdata);
|
|
|
- setup_timer(&ifmgd->chswitch_timer, ieee80211_chswitch_timer,
|
|
|
- (unsigned long) sdata);
|
|
|
+ timer_setup(&ifmgd->timer, ieee80211_sta_timer, 0);
|
|
|
+ timer_setup(&ifmgd->bcn_mon_timer, ieee80211_sta_bcn_mon_timer, 0);
|
|
|
+ timer_setup(&ifmgd->conn_mon_timer, ieee80211_sta_conn_mon_timer, 0);
|
|
|
+ timer_setup(&ifmgd->chswitch_timer, ieee80211_chswitch_timer, 0);
|
|
|
INIT_DELAYED_WORK(&ifmgd->tx_tspec_wk,
|
|
|
ieee80211_sta_handle_tspec_ac_params_wk);
|
|
|
|