diff options
author | Allen Pais <apais@linux.microsoft.com> | 2020-09-16 09:15:19 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-09-16 14:13:00 +0300 |
commit | e0a739f48ea33ae939009f2db28091e66024dbf9 (patch) | |
tree | 705b5094f2d3dfb715522e945a296c56fab4f19a /drivers/staging/wlan-ng | |
parent | 780664b64025807b7e74efd6f6c6bc6185ac9fcb (diff) | |
download | linux-e0a739f48ea33ae939009f2db28091e66024dbf9.tar.xz |
staging: wlan-ng: convert tasklets to use new tasklet_setup() API
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
Link: https://lore.kernel.org/r/20200916061519.57602-1-allen.lkml@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/wlan-ng')
-rw-r--r-- | drivers/staging/wlan-ng/hfa384x_usb.c | 18 | ||||
-rw-r--r-- | drivers/staging/wlan-ng/p80211netdev.c | 9 |
2 files changed, 12 insertions, 15 deletions
diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c b/drivers/staging/wlan-ng/hfa384x_usb.c index 2720f7319a3d..f2a0e16b0318 100644 --- a/drivers/staging/wlan-ng/hfa384x_usb.c +++ b/drivers/staging/wlan-ng/hfa384x_usb.c @@ -191,9 +191,9 @@ static void hfa384x_usbctlx_resptimerfn(struct timer_list *t); static void hfa384x_usb_throttlefn(struct timer_list *t); -static void hfa384x_usbctlx_completion_task(unsigned long data); +static void hfa384x_usbctlx_completion_task(struct tasklet_struct *t); -static void hfa384x_usbctlx_reaper_task(unsigned long data); +static void hfa384x_usbctlx_reaper_task(struct tasklet_struct *t); static int hfa384x_usbctlx_submit(struct hfa384x *hw, struct hfa384x_usbctlx *ctlx); @@ -539,10 +539,8 @@ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb) /* Initialize the authentication queue */ skb_queue_head_init(&hw->authq); - tasklet_init(&hw->reaper_bh, - hfa384x_usbctlx_reaper_task, (unsigned long)hw); - tasklet_init(&hw->completion_bh, - hfa384x_usbctlx_completion_task, (unsigned long)hw); + tasklet_setup(&hw->reaper_bh, hfa384x_usbctlx_reaper_task); + tasklet_setup(&hw->completion_bh, hfa384x_usbctlx_completion_task); INIT_WORK(&hw->link_bh, prism2sta_processing_defer); INIT_WORK(&hw->usb_work, hfa384x_usb_defer); @@ -2599,9 +2597,9 @@ void hfa384x_tx_timeout(struct wlandevice *wlandev) * Interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_reaper_task(unsigned long data) +static void hfa384x_usbctlx_reaper_task(struct tasklet_struct *t) { - struct hfa384x *hw = (struct hfa384x *)data; + struct hfa384x *hw = from_tasklet(hw, t, reaper_bh); struct hfa384x_usbctlx *ctlx, *temp; unsigned long flags; @@ -2633,9 +2631,9 @@ static void hfa384x_usbctlx_reaper_task(unsigned long data) * Interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_completion_task(unsigned long data) +static void hfa384x_usbctlx_completion_task(struct tasklet_struct *t) { - struct hfa384x *hw = (struct hfa384x *)data; + struct hfa384x *hw = from_tasklet(hw, t, completion_bh); struct hfa384x_usbctlx *ctlx, *temp; unsigned long flags; diff --git a/drivers/staging/wlan-ng/p80211netdev.c b/drivers/staging/wlan-ng/p80211netdev.c index 4a6813e89916..a15abb2c8f54 100644 --- a/drivers/staging/wlan-ng/p80211netdev.c +++ b/drivers/staging/wlan-ng/p80211netdev.c @@ -266,11 +266,11 @@ static int p80211_convert_to_ether(struct wlandevice *wlandev, /** * p80211netdev_rx_bh - deferred processing of all received frames * - * @arg: pointer to WLAN network device structure (cast to unsigned long) + * @t: pointer to the tasklet associated with this handler */ -static void p80211netdev_rx_bh(unsigned long arg) +static void p80211netdev_rx_bh(struct tasklet_struct *t) { - struct wlandevice *wlandev = (struct wlandevice *)arg; + struct wlandevice *wlandev = from_tasklet(wlandev, t, rx_bh); struct sk_buff *skb = NULL; struct net_device *dev = wlandev->netdev; @@ -728,8 +728,7 @@ int wlan_setup(struct wlandevice *wlandev, struct device *physdev) /* Set up the rx queue */ skb_queue_head_init(&wlandev->nsd_rxq); - tasklet_init(&wlandev->rx_bh, - p80211netdev_rx_bh, (unsigned long)wlandev); + tasklet_setup(&wlandev->rx_bh, p80211netdev_rx_bh); /* Allocate and initialize the wiphy struct */ wiphy = wlan_create_wiphy(physdev, wlandev); |