staging: rtlwifi: Convert timers to use timer_setup()
PATCH 1/1 staging: rtlwifi: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Also drops unused odm timer code.
Cc Greg Kroah-Hartman <[email protected]>
Cc Larry Finger <[email protected]>
Cc Kalle Valo <[email protected]>
Cc Ping-Ke Shih <[email protected]>
Cc shaofu <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/staging/rtlwifi/base.c | 21 +++++++++++---------- drivers/staging/rtlwifi/base.h | 4 ++-- drivers/staging/rtlwifi/core.c | 2 +- drivers/staging/rtlwifi/phydm/phydm_interface.c | 23 ----------------------- drivers/staging/rtlwifi/phydm/phydm_interface.h | 11 ----------- drivers/staging/rtlwifi/ps.c | 2 +- 6 files changed, 15 insertions(+), 48 deletions(-)
drivers/staging/rtlwifi/base.c +11 -10
@@ -465,10 +465,10 @@ static void _rtl_init_deferred_work(struct ieee80211_hw *hw)struct rtl_priv *rtlpriv =rtl_priv (hw);/* <1> timer */ -setup_timer (&rtlpriv->works.watchdog_timer, - rtl_watch_dog_timer_callback, (unsigned long )hw); -setup_timer (&rtlpriv->works.dualmac_easyconcurrent_retrytimer, - rtl_easy_concurrent_retrytimer_callback, (unsigned long )hw); +timer_setup (&rtlpriv->works.watchdog_timer, + rtl_watch_dog_timer_callback,0 ); +timer_setup (&rtlpriv->works.dualmac_easyconcurrent_retrytimer, + rtl_easy_concurrent_retrytimer_callback,0 );/* <2> work queue */ rtlpriv->works.hw = hw; rtlpriv->works.rtl_wq =alloc_workqueue ("%s" ,0 ,0 , rtlpriv->cfg->name);
@@ -2161,10 +2161,10 @@ void rtl_watchdog_wq_callback(void *data)rtl_scan_list_expire (hw); } -void rtl_watch_dog_timer_callback (unsigned long data) +void rtl_watch_dog_timer_callback (struct timer_list *t) { -struct ieee80211_hw *hw = (struct ieee80211_hw *)data; -struct rtl_priv *rtlpriv =rtl_priv (hw); +struct rtl_priv *rtlpriv =from_timer (rtlpriv, t, works.watchdog_timer); +struct ieee80211_hw *hw = rtlpriv->hw;queue_delayed_work (rtlpriv->works.rtl_wq, &rtlpriv->works.watchdog_wq,0 );
@@ -2270,10 +2270,11 @@ void rtl_c2hcmd_wq_callback(void *data)rtl_c2hcmd_launcher (hw,1 ); } -void rtl_easy_concurrent_retrytimer_callback (unsigned long data) +void rtl_easy_concurrent_retrytimer_callback (struct timer_list *t) { -struct ieee80211_hw *hw = (struct ieee80211_hw *)data; -struct rtl_priv *rtlpriv =rtl_priv (hw); +struct rtl_priv *rtlpriv = +from_timer (rtlpriv, t, works.dualmac_easyconcurrent_retrytimer); +struct ieee80211_hw *hw = rtlpriv->hw;struct rtl_priv *buddy_priv = rtlpriv->buddy_priv;if (!buddy_priv)
drivers/staging/rtlwifi/base.h +2 -2
@@ -120,7 +120,7 @@ void rtl_init_rx_config(struct ieee80211_hw *hw);void rtl_init_rfkill (struct ieee80211_hw *hw);void rtl_deinit_rfkill (struct ieee80211_hw *hw); -void rtl_watch_dog_timer_callback (unsigned long data); +void rtl_watch_dog_timer_callback (struct timer_list *t);void rtl_deinit_deferred_work (struct ieee80211_hw *hw);bool rtl_action_proc (struct ieee80211_hw *hw,struct sk_buff *skb,u8 is_tx);
@@ -176,7 +176,7 @@ int rtl_send_smps_action(struct ieee80211_hw *hw,u8 *rtl_find_ie (u8 *data,unsigned int len,u8 ie);void rtl_recognize_peer (struct ieee80211_hw *hw,u8 *data,unsigned int len);u8 rtl_tid_to_ac (u8 tid); -void rtl_easy_concurrent_retrytimer_callback (unsigned long data); +void rtl_easy_concurrent_retrytimer_callback (struct timer_list *t);extern struct rtl_global_var rtl_global_var;void rtl_phy_scan_operation_backup (struct ieee80211_hw *hw,u8 operation); bool rtl_check_beacon_key(struct ieee80211_hw *hw, void *data,
drivers/staging/rtlwifi/core.c +1 -1
@@ -116,7 +116,7 @@ static int rtl_op_start(struct ieee80211_hw *hw)mutex_lock (&rtlpriv->locks.conf_mutex); err = rtlpriv->intf_ops->adapter_start (hw);if (!err) -rtl_watch_dog_timer_callback ((unsigned long )hw); +rtl_watch_dog_timer_callback (&rtlpriv->works.watchdog_timer);mutex_unlock (&rtlpriv->locks.conf_mutex);return err; }
drivers/staging/rtlwifi/phydm/phydm_interface.c +0 -23
@@ -179,29 +179,6 @@ void ODM_sleep_ms(u32 ms) { msleep(ms); }void ODM_sleep_us (u32 us) {usleep_range (us, us +1 ); } -void odm_set_timer (struct phy_dm_struct *dm,struct timer_list *timer, -u32 ms_delay) -{ -mod_timer (timer, jiffies +msecs_to_jiffies (ms_delay)); -} - -void odm_initialize_timer (struct phy_dm_struct *dm,struct timer_list *timer, -void *call_back_func,void *context, -const char *sz_id) -{ -init_timer (timer); - timer->function = call_back_func; - timer->data = (unsigned long )dm; -/*mod_timer(timer, jiffies+RTL_MILISECONDS_TO_JIFFIES(10)); */ -} - -void odm_cancel_timer (struct phy_dm_struct *dm,struct timer_list *timer) -{ -del_timer (timer); -} - -void odm_release_timer (struct phy_dm_struct *dm,struct timer_list *timer) {} -static u8 phydm_trans_h2c_id (struct phy_dm_struct *dm,u8 phydm_h2c_id) {u8 platform_h2c_id = phydm_h2c_id;
drivers/staging/rtlwifi/phydm/phydm_interface.h +0 -11
@@ -172,17 +172,6 @@ void ODM_sleep_ms(u32 ms);void ODM_sleep_us (u32 us); -void odm_set_timer (struct phy_dm_struct *dm,struct timer_list *timer, -u32 ms_delay); - -void odm_initialize_timer (struct phy_dm_struct *dm,struct timer_list *timer, -void *call_back_func,void *context, -const char *sz_id); - -void odm_cancel_timer (struct phy_dm_struct *dm,struct timer_list *timer); - -void odm_release_timer (struct phy_dm_struct *dm,struct timer_list *timer); -/* * ODM FW relative API. */
drivers/staging/rtlwifi/ps.c +1 -1
@@ -61,7 +61,7 @@ bool rtl_ps_enable_nic(struct ieee80211_hw *hw) rtlpriv->cfg->ops->enable_interrupt (hw);/*<enable timer> */ -rtl_watch_dog_timer_callback ((unsigned long )hw); +rtl_watch_dog_timer_callback (&rtlpriv->works.watchdog_timer);return true; }
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security