ath11k: convert tasklets to use new tasklet_setup() API
authorAllen Pais <apais@linux.microsoft.com>
Wed, 7 Oct 2020 10:33:09 +0000 (16:03 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 7 Nov 2020 07:58:51 +0000 (09:58 +0200)
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>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201007103309.363737-4-allen.lkml@gmail.com
drivers/net/wireless/ath/ath11k/pci.c

index d7eb6b7..b75f47d 100644 (file)
@@ -380,9 +380,9 @@ static void ath11k_pci_sync_ce_irqs(struct ath11k_base *ab)
        }
 }
 
-static void ath11k_pci_ce_tasklet(unsigned long data)
+static void ath11k_pci_ce_tasklet(struct tasklet_struct *t)
 {
-       struct ath11k_ce_pipe *ce_pipe = (struct ath11k_ce_pipe *)data;
+       struct ath11k_ce_pipe *ce_pipe = from_tasklet(ce_pipe, t, intr_tq);
 
        ath11k_ce_per_engine_service(ce_pipe->ab, ce_pipe->pipe_num);
 
@@ -581,8 +581,7 @@ static int ath11k_pci_config_irq(struct ath11k_base *ab)
 
                irq_idx = ATH11K_PCI_IRQ_CE0_OFFSET + i;
 
-               tasklet_init(&ce_pipe->intr_tq, ath11k_pci_ce_tasklet,
-                            (unsigned long)ce_pipe);
+               tasklet_setup(&ce_pipe->intr_tq, ath11k_pci_ce_tasklet);
 
                ret = request_irq(irq, ath11k_pci_ce_interrupt_handler,
                                  IRQF_SHARED, irq_name[irq_idx],