2020-08-17 09:13:19

by Allen Pais

[permalink] [raw]
Subject: [PATCH 03/16] wireless: ath: convert tasklets to use new tasklet_setup() API

From: Allen Pais <[email protected]>

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 <[email protected]>
Signed-off-by: Allen Pais <[email protected]>
---
drivers/net/wireless/ath/carl9170/usb.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c
index ead79335823a..e4eb666c6eea 100644
--- a/drivers/net/wireless/ath/carl9170/usb.c
+++ b/drivers/net/wireless/ath/carl9170/usb.c
@@ -377,9 +377,9 @@ void carl9170_usb_handle_tx_err(struct ar9170 *ar)
}
}

-static void carl9170_usb_tasklet(unsigned long data)
+static void carl9170_usb_tasklet(struct tasklet_struct *t)
{
- struct ar9170 *ar = (struct ar9170 *) data;
+ struct ar9170 *ar = from_tasklet(ar, t, usb_tasklet);

if (!IS_INITIALIZED(ar))
return;
@@ -1082,8 +1082,7 @@ static int carl9170_usb_probe(struct usb_interface *intf,
init_completion(&ar->cmd_wait);
init_completion(&ar->fw_boot_wait);
init_completion(&ar->fw_load_wait);
- tasklet_init(&ar->usb_tasklet, carl9170_usb_tasklet,
- (unsigned long)ar);
+ tasklet_setup(&ar->usb_tasklet, carl9170_usb_tasklet);

atomic_set(&ar->tx_cmd_urbs, 0);
atomic_set(&ar->tx_anch_urbs, 0);
--
2.17.1


2020-08-17 19:16:48

by Christian Lamparter

[permalink] [raw]
Subject: Re: [PATCH 03/16] wireless: ath: convert tasklets to use new tasklet_setup() API

Hello,

looking at the other patches in this series, I think this patch's
subject "ath:" tag was supposed to be "carl9170:"?

(so the full subject is:
"wireless: carl9170: convert tasklets to use new tasklet_setup() API")

On 2020-08-17 11:06, Allen Pais wrote:
> From: Allen Pais <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Allen Pais <[email protected]>
Seems to work.

Acked-by: Christian Lamparter <[email protected]>

> ---
> drivers/net/wireless/ath/carl9170/usb.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c
> index ead79335823a..e4eb666c6eea 100644
> --- a/drivers/net/wireless/ath/carl9170/usb.c
> +++ b/drivers/net/wireless/ath/carl9170/usb.c
> @@ -377,9 +377,9 @@ void carl9170_usb_handle_tx_err(struct ar9170 *ar)
> }
> }
>
> -static void carl9170_usb_tasklet(unsigned long data)
> +static void carl9170_usb_tasklet(struct tasklet_struct *t)
> {
> - struct ar9170 *ar = (struct ar9170 *) data;
> + struct ar9170 *ar = from_tasklet(ar, t, usb_tasklet);
>
> if (!IS_INITIALIZED(ar))
> return;
> @@ -1082,8 +1082,7 @@ static int carl9170_usb_probe(struct usb_interface *intf,
> init_completion(&ar->cmd_wait);
> init_completion(&ar->fw_boot_wait);
> init_completion(&ar->fw_load_wait);
> - tasklet_init(&ar->usb_tasklet, carl9170_usb_tasklet,
> - (unsigned long)ar);
> + tasklet_setup(&ar->usb_tasklet, carl9170_usb_tasklet);
>
> atomic_set(&ar->tx_cmd_urbs, 0);
> atomic_set(&ar->tx_anch_urbs, 0);
>