staging: wlan-ng: Convert timers to use timer_setup()
PATCH 1/1 staging: wlan-ng: 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.
Cc Greg Kroah-Hartman <[email protected]>
Cc Sergio Paracuellos <[email protected]>
Cc Adrien Descamps <[email protected]>
Cc Thibaut SAUTEREAU <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/staging/wlan-ng/hfa384x_usb.c | 29 +++++++++++++---------------- drivers/staging/wlan-ng/prism2mgmt.h | 2 +- drivers/staging/wlan-ng/prism2sta.c | 4 ++-- 3 files changed, 16 insertions(+), 19 deletions(-)
drivers/staging/wlan-ng/hfa384x_usb.c +13 -16
@@ -184,11 +184,11 @@ static void hfa384x_usbin_ctlx(struct hfa384x *hw, union hfa384x_usbin *usbin,static void hfa384x_usbctlxq_run (struct hfa384x *hw); -static void hfa384x_usbctlx_reqtimerfn (unsigned long data); +static void hfa384x_usbctlx_reqtimerfn (struct timer_list *t); -static void hfa384x_usbctlx_resptimerfn (unsigned long data); +static void hfa384x_usbctlx_resptimerfn (struct timer_list *t); -static void hfa384x_usb_throttlefn (unsigned long data); +static void hfa384x_usb_throttlefn (struct timer_list *t);static void hfa384x_usbctlx_completion_task (unsigned long data);
@@ -558,13 +558,11 @@ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb)INIT_WORK (&hw->link_bh, prism2sta_processing_defer);INIT_WORK (&hw->usb_work, hfa384x_usb_defer); -setup_timer (&hw->throttle, hfa384x_usb_throttlefn, (unsigned long )hw); +timer_setup (&hw->throttle, hfa384x_usb_throttlefn,0 ); -setup_timer (&hw->resptimer, hfa384x_usbctlx_resptimerfn, - (unsigned long )hw); +timer_setup (&hw->resptimer, hfa384x_usbctlx_resptimerfn,0 ); -setup_timer (&hw->reqtimer, hfa384x_usbctlx_reqtimerfn, - (unsigned long )hw); +timer_setup (&hw->reqtimer, hfa384x_usbctlx_reqtimerfn,0 );usb_init_urb (&hw->rx_urb);usb_init_urb (&hw->tx_urb);
@@ -574,8 +572,7 @@ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb) hw->state = HFA384x_STATE_INIT;INIT_WORK (&hw->commsqual_bh, prism2sta_commsqual_defer); -setup_timer (&hw->commsqual_timer, prism2sta_commsqual_timer, - (unsigned long )hw); +timer_setup (&hw->commsqual_timer, prism2sta_commsqual_timer,0 ); }/*----------------------------------------------------------------
@@ -3800,9 +3797,9 @@ static void hfa384x_ctlxout_callback(struct urb *urb)* interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_reqtimerfn (unsigned long data) +static void hfa384x_usbctlx_reqtimerfn (struct timer_list *t) { -struct hfa384x *hw = (struct hfa384x *)data; +struct hfa384x *hw =from_timer (hw, t, reqtimer);unsigned long flags;spin_lock_irqsave (&hw->ctlxq.lock, flags);
@@ -3859,9 +3856,9 @@ static void hfa384x_usbctlx_reqtimerfn(unsigned long data)* interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_resptimerfn (unsigned long data) +static void hfa384x_usbctlx_resptimerfn (struct timer_list *t) { -struct hfa384x *hw = (struct hfa384x *)data; +struct hfa384x *hw =from_timer (hw, t, resptimer);unsigned long flags;spin_lock_irqsave (&hw->ctlxq.lock, flags);
@@ -3899,9 +3896,9 @@ static void hfa384x_usbctlx_resptimerfn(unsigned long data)* Interrupt *---------------------------------------------------------------- */ -static void hfa384x_usb_throttlefn (unsigned long data) +static void hfa384x_usb_throttlefn (struct timer_list *t) { -struct hfa384x *hw = (struct hfa384x *)data; +struct hfa384x *hw =from_timer (hw, t, throttle);unsigned long flags;spin_lock_irqsave (&hw->ctlxq.lock, flags);
drivers/staging/wlan-ng/prism2mgmt.h +1 -1
@@ -109,7 +109,7 @@ int prism2mgmt_get_grpaddr_index(u32 did);void prism2sta_processing_defer (struct work_struct *data);void prism2sta_commsqual_defer (struct work_struct *data); -void prism2sta_commsqual_timer (unsigned long data); +void prism2sta_commsqual_timer (struct timer_list *t);/* Interface callback functions, passing data back up to the cfg80211 layer */ void prism2_connect_result (struct wlandevice *wlandev,u8 failed);
drivers/staging/wlan-ng/prism2sta.c +2 -2
@@ -2004,9 +2004,9 @@ void prism2sta_commsqual_defer(struct work_struct *data)mod_timer (&hw->commsqual_timer, jiffies +HZ ); } -void prism2sta_commsqual_timer (unsigned long data) +void prism2sta_commsqual_timer (struct timer_list *t) { -struct hfa384x *hw = (struct hfa384x *)data; +struct hfa384x *hw =from_timer (hw, t, commsqual_timer);schedule_work (&hw->commsqual_bh); }
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security