Hi Allen, On Thu, 7 Jan 2021 at 13:32, Allen Pais <allen.lkml@xxxxxxxxx> wrote: > > From: Allen Pais <apais@xxxxxxxxxxxxxxxxxxx> > > 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@xxxxxxxxx> > Signed-off-by: Allen Pais <apais@xxxxxxxxxxxxxxxxxxx> > --- > drivers/crypto/rockchip/rk3288_crypto.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c > index 35d73061d156..af6ad9f49009 100644 > --- a/drivers/crypto/rockchip/rk3288_crypto.c > +++ b/drivers/crypto/rockchip/rk3288_crypto.c > @@ -201,9 +201,9 @@ static int rk_crypto_enqueue(struct rk_crypto_info *dev, > return ret; > } > > -static void rk_crypto_queue_task_cb(unsigned long data) > +static void rk_crypto_queue_task_cb(struct tasklet_struct *T) > { > - struct rk_crypto_info *dev = (struct rk_crypto_info *)data; > + struct rk_crypto_info *dev = from_tasklet(dev, t, queue_task); This doesn't look right. First it's called T and then t. I wonder how this even compiles.. > struct crypto_async_request *async_req, *backlog; > unsigned long flags; > int err = 0; > @@ -231,9 +231,9 @@ static void rk_crypto_queue_task_cb(unsigned long data) > dev->complete(dev->async_req, err); > } > > -static void rk_crypto_done_task_cb(unsigned long data) > +static void rk_crypto_done_task_cb(struct tasklet_struct *t) > { > - struct rk_crypto_info *dev = (struct rk_crypto_info *)data; > + struct rk_crypto_info *dev = from_tasklet(dev, t, done_task); > > if (dev->err) { > dev->complete(dev->async_req, dev->err); > @@ -389,10 +389,8 @@ static int rk_crypto_probe(struct platform_device *pdev) > crypto_info->dev = &pdev->dev; > platform_set_drvdata(pdev, crypto_info); > > - tasklet_init(&crypto_info->queue_task, > - rk_crypto_queue_task_cb, (unsigned long)crypto_info); > - tasklet_init(&crypto_info->done_task, > - rk_crypto_done_task_cb, (unsigned long)crypto_info); > + tasklet_setup(&crypto_info->queue_task, rk_crypto_queue_task_cb); > + tasklet_setup(&crypto_info->done_task, rk_crypto_done_task_cb); > crypto_init_queue(&crypto_info->queue, 50); > > crypto_info->enable_clk = rk_crypto_enable_clk; > -- > 2.25.1 > > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-rockchip