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/dma/mv_xor.c    | 7 +++----
 drivers/dma/mv_xor_v2.c | 8 ++++----
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index 0ac8e7b34e12..00cd1335eeba 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -336,9 +336,9 @@ static void mv_chan_slot_cleanup(struct mv_xor_chan 
*mv_chan)
                mv_chan->dmachan.completed_cookie = cookie;
 }
 
-static void mv_xor_tasklet(unsigned long data)
+static void mv_xor_tasklet(struct tasklet_struct *t)
 {
-       struct mv_xor_chan *chan = (struct mv_xor_chan *) data;
+       struct mv_xor_chan *chan = from_tasklet(chan, t, irq_tasklet);
 
        spin_lock(&chan->lock);
        mv_chan_slot_cleanup(chan);
@@ -1097,8 +1097,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev,
 
        mv_chan->mmr_base = xordev->xor_base;
        mv_chan->mmr_high_base = xordev->xor_high_base;
-       tasklet_init(&mv_chan->irq_tasklet, mv_xor_tasklet, (unsigned long)
-                    mv_chan);
+       tasklet_setup(&mv_chan->irq_tasklet, mv_xor_tasklet);
 
        /* clear errors before enabling interrupts */
        mv_chan_clear_err_status(mv_chan);
diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c
index 9225f08dfee9..2753a6b916f6 100644
--- a/drivers/dma/mv_xor_v2.c
+++ b/drivers/dma/mv_xor_v2.c
@@ -553,9 +553,10 @@ int mv_xor_v2_get_pending_params(struct mv_xor_v2_device 
*xor_dev,
 /*
  * handle the descriptors after HW process
  */
-static void mv_xor_v2_tasklet(unsigned long data)
+static void mv_xor_v2_tasklet(struct tasklet_struct *t)
 {
-       struct mv_xor_v2_device *xor_dev = (struct mv_xor_v2_device *) data;
+       struct mv_xor_v2_device *xor_dev = from_tasklet(xor_dev, t,
+                                                       irq_tasklet);
        int pending_ptr, num_of_pending, i;
        struct mv_xor_v2_sw_desc *next_pending_sw_desc = NULL;
 
@@ -780,8 +781,7 @@ static int mv_xor_v2_probe(struct platform_device *pdev)
        if (ret)
                goto free_msi_irqs;
 
-       tasklet_init(&xor_dev->irq_tasklet, mv_xor_v2_tasklet,
-                    (unsigned long) xor_dev);
+       tasklet_setup(&xor_dev->irq_tasklet, mv_xor_v2_tasklet);
 
        xor_dev->desc_size = mv_xor_v2_set_desc_size(xor_dev);
 
-- 
2.17.1

Reply via email to