From: Allen Pais <ap...@linux.microsoft.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.per...@gmail.com>
Signed-off-by: Allen Pais <ap...@linux.microsoft.com>
---
 drivers/crypto/qce/core.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c
index 80b75085c265..374281e9d6b9 100644
--- a/drivers/crypto/qce/core.c
+++ b/drivers/crypto/qce/core.c
@@ -116,9 +116,9 @@ static int qce_handle_queue(struct qce_device *qce,
        return ret;
 }
 
-static void qce_tasklet_req_done(unsigned long data)
+static void qce_tasklet_req_done(struct tasklet_struct *t)
 {
-       struct qce_device *qce = (struct qce_device *)data;
+       struct qce_device *qce = from_tasklet(qce, t, done_tasklet);
        struct crypto_async_request *req;
        unsigned long flags;
 
@@ -235,8 +235,7 @@ static int qce_crypto_probe(struct platform_device *pdev)
                goto err_clks;
 
        spin_lock_init(&qce->lock);
-       tasklet_init(&qce->done_tasklet, qce_tasklet_req_done,
-                    (unsigned long)qce);
+       tasklet_setup(&qce->done_tasklet, qce_tasklet_req_done);
        crypto_init_queue(&qce->queue, QCE_QUEUE_LENGTH);
 
        qce->async_req_enqueue = qce_async_request_enqueue;
-- 
2.25.1

Reply via email to