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>
This commit is contained in:
Allen Pais 2020-09-16 11:45:19 +05:30 committed by Greg Kroah-Hartman
parent 780664b640
commit e0a739f48e
2 changed files with 12 additions and 15 deletions

View File

@ -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_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, static int hfa384x_usbctlx_submit(struct hfa384x *hw,
struct hfa384x_usbctlx *ctlx); struct hfa384x_usbctlx *ctlx);
@ -539,10 +539,8 @@ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb)
/* Initialize the authentication queue */ /* Initialize the authentication queue */
skb_queue_head_init(&hw->authq); skb_queue_head_init(&hw->authq);
tasklet_init(&hw->reaper_bh, tasklet_setup(&hw->reaper_bh, hfa384x_usbctlx_reaper_task);
hfa384x_usbctlx_reaper_task, (unsigned long)hw); tasklet_setup(&hw->completion_bh, hfa384x_usbctlx_completion_task);
tasklet_init(&hw->completion_bh,
hfa384x_usbctlx_completion_task, (unsigned long)hw);
INIT_WORK(&hw->link_bh, prism2sta_processing_defer); INIT_WORK(&hw->link_bh, prism2sta_processing_defer);
INIT_WORK(&hw->usb_work, hfa384x_usb_defer); INIT_WORK(&hw->usb_work, hfa384x_usb_defer);
@ -2599,9 +2597,9 @@ void hfa384x_tx_timeout(struct wlandevice *wlandev)
* Interrupt * 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; struct hfa384x_usbctlx *ctlx, *temp;
unsigned long flags; unsigned long flags;
@ -2633,9 +2631,9 @@ static void hfa384x_usbctlx_reaper_task(unsigned long data)
* Interrupt * 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; struct hfa384x_usbctlx *ctlx, *temp;
unsigned long flags; unsigned long flags;

View File

@ -266,11 +266,11 @@ static int p80211_convert_to_ether(struct wlandevice *wlandev,
/** /**
* p80211netdev_rx_bh - deferred processing of all received frames * 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 sk_buff *skb = NULL;
struct net_device *dev = wlandev->netdev; struct net_device *dev = wlandev->netdev;
@ -728,8 +728,7 @@ int wlan_setup(struct wlandevice *wlandev, struct device *physdev)
/* Set up the rx queue */ /* Set up the rx queue */
skb_queue_head_init(&wlandev->nsd_rxq); skb_queue_head_init(&wlandev->nsd_rxq);
tasklet_init(&wlandev->rx_bh, tasklet_setup(&wlandev->rx_bh, p80211netdev_rx_bh);
p80211netdev_rx_bh, (unsigned long)wlandev);
/* Allocate and initialize the wiphy struct */ /* Allocate and initialize the wiphy struct */
wiphy = wlan_create_wiphy(physdev, wlandev); wiphy = wlan_create_wiphy(physdev, wlandev);