lkml.org 
[lkml]   [2020]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/16] wireless: b43legacy: convert tasklets to use new tasklet_setup() API
    Date
    From: Allen Pais <allen.lkml@gmail.com>

    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 <allen.lkml@gmail.com>
    ---
    drivers/net/wireless/broadcom/b43legacy/main.c | 8 +++-----
    drivers/net/wireless/broadcom/b43legacy/pio.c | 7 +++----
    2 files changed, 6 insertions(+), 9 deletions(-)

    diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c
    index 2eaf481f03f1..15d592cf056c 100644
    --- a/drivers/net/wireless/broadcom/b43legacy/main.c
    +++ b/drivers/net/wireless/broadcom/b43legacy/main.c
    @@ -1275,9 +1275,9 @@ static void handle_irq_ucode_debug(struct b43legacy_wldev *dev)
    }

    /* Interrupt handler bottom-half */
    -static void b43legacy_interrupt_tasklet(unsigned long data)
    +static void b43legacy_interrupt_tasklet(struct tasklet_struct *t)
    {
    - struct b43legacy_wldev *dev = (struct b43legacy_wldev *)data;
    + struct b43legacy_wldev *dev = from_tasklet(dev, t, isr_tasklet);
    u32 reason;
    u32 dma_reason[ARRAY_SIZE(dev->dma_reason)];
    u32 merged_dma_reason = 0;
    @@ -3741,9 +3741,7 @@ static int b43legacy_one_core_attach(struct ssb_device *dev,
    wldev->wl = wl;
    b43legacy_set_status(wldev, B43legacy_STAT_UNINIT);
    wldev->bad_frames_preempt = modparam_bad_frames_preempt;
    - tasklet_init(&wldev->isr_tasklet,
    - b43legacy_interrupt_tasklet,
    - (unsigned long)wldev);
    + tasklet_setup(&wldev->isr_tasklet, b43legacy_interrupt_tasklet);
    if (modparam_pio)
    wldev->__using_pio = true;
    INIT_LIST_HEAD(&wldev->list);
    diff --git a/drivers/net/wireless/broadcom/b43legacy/pio.c b/drivers/net/wireless/broadcom/b43legacy/pio.c
    index cbb761378619..aac413d0f629 100644
    --- a/drivers/net/wireless/broadcom/b43legacy/pio.c
    +++ b/drivers/net/wireless/broadcom/b43legacy/pio.c
    @@ -264,9 +264,9 @@ static int pio_tx_packet(struct b43legacy_pio_txpacket *packet)
    return 0;
    }

    -static void tx_tasklet(unsigned long d)
    +static void tx_tasklet(struct tasklet_struct *t)
    {
    - struct b43legacy_pioqueue *queue = (struct b43legacy_pioqueue *)d;
    + struct b43legacy_pioqueue *queue = from_tasklet(queue, t, txtask);
    struct b43legacy_wldev *dev = queue->dev;
    unsigned long flags;
    struct b43legacy_pio_txpacket *packet, *tmp_packet;
    @@ -331,8 +331,7 @@ struct b43legacy_pioqueue *b43legacy_setup_pioqueue(struct b43legacy_wldev *dev,
    INIT_LIST_HEAD(&queue->txfree);
    INIT_LIST_HEAD(&queue->txqueue);
    INIT_LIST_HEAD(&queue->txrunning);
    - tasklet_init(&queue->txtask, tx_tasklet,
    - (unsigned long)queue);
    + tasklet_setup(&queue->txtask, tx_tasklet);

    value = b43legacy_read32(dev, B43legacy_MMIO_MACCTL);
    value &= ~B43legacy_MACCTL_BE;
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-08-17 11:10    [W:4.229 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site