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.per...@gmail.com>
Signed-off-by: Allen Pais <allen.l...@gmail.com>
---
 drivers/net/ethernet/ni/nixge.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c
index 4075f5e59955..a6861df9904f 100644
--- a/drivers/net/ethernet/ni/nixge.c
+++ b/drivers/net/ethernet/ni/nixge.c
@@ -787,9 +787,9 @@ static irqreturn_t nixge_rx_irq(int irq, void *_ndev)
        return IRQ_HANDLED;
 }
 
-static void nixge_dma_err_handler(unsigned long data)
+static void nixge_dma_err_handler(struct tasklet_struct *t)
 {
-       struct nixge_priv *lp = (struct nixge_priv *)data;
+       struct nixge_priv *lp = from_tasklet(lp, t, dma_err_tasklet);
        struct nixge_hw_dma_bd *cur_p;
        struct nixge_tx_skb *tx_skb;
        u32 cr, i;
@@ -879,8 +879,7 @@ static int nixge_open(struct net_device *ndev)
        phy_start(phy);
 
        /* Enable tasklets for Axi DMA error handling */
-       tasklet_init(&priv->dma_err_tasklet, nixge_dma_err_handler,
-                    (unsigned long)priv);
+       tasklet_setup(&priv->dma_err_tasklet, nixge_dma_err_handler);
 
        napi_enable(&priv->napi);
 
-- 
2.17.1

Reply via email to