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/amcc/crypto4xx_core.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/amcc/crypto4xx_core.c 
b/drivers/crypto/amcc/crypto4xx_core.c
index 8d1b918a0533..721ccf850f0b 100644
--- a/drivers/crypto/amcc/crypto4xx_core.c
+++ b/drivers/crypto/amcc/crypto4xx_core.c
@@ -1072,10 +1072,11 @@ static void crypto4xx_unregister_alg(struct 
crypto4xx_device *sec_dev)
        }
 }
 
-static void crypto4xx_bh_tasklet_cb(unsigned long data)
+static void crypto4xx_bh_tasklet_cb(struct tasklet_struct *t)
 {
-       struct device *dev = (struct device *)data;
-       struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
+       struct crypto4xx_core_device *core_dev = from_tasklet(core_dev, t,
+                                                             tasklet);
+       struct device *dev = core_dev->device;
        struct pd_uinfo *pd_uinfo;
        struct ce_pd *pd;
        u32 tail = core_dev->dev->pdr_tail;
@@ -1452,8 +1453,7 @@ static int crypto4xx_probe(struct platform_device *ofdev)
                goto err_build_sdr;
 
        /* Init tasklet for bottom half processing */
-       tasklet_init(&core_dev->tasklet, crypto4xx_bh_tasklet_cb,
-                    (unsigned long) dev);
+       tasklet_setup(&core_dev->tasklet, crypto4xx_bh_tasklet_cb);
 
        core_dev->dev->ce_base = of_iomap(ofdev->dev.of_node, 0);
        if (!core_dev->dev->ce_base) {
-- 
2.25.1

Reply via email to