On 31/08/2020 13.35, Allen Pais wrote: > 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. Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx> > --- > drivers/dma/ti/k3-udma.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c > index c14e6cb105cd..59cd8770334c 100644 > --- a/drivers/dma/ti/k3-udma.c > +++ b/drivers/dma/ti/k3-udma.c > @@ -2914,9 +2914,9 @@ static void udma_desc_pre_callback(struct virt_dma_chan *vc, > * This tasklet handles the completion of a DMA descriptor by > * calling its callback and freeing it. > */ > -static void udma_vchan_complete(unsigned long arg) > +static void udma_vchan_complete(struct tasklet_struct *t) > { > - struct virt_dma_chan *vc = (struct virt_dma_chan *)arg; > + struct virt_dma_chan *vc = from_tasklet(vc, t, task); > struct virt_dma_desc *vd, *_vd; > struct dmaengine_desc_callback cb; > LIST_HEAD(head); > @@ -3649,8 +3649,7 @@ static int udma_probe(struct platform_device *pdev) > > vchan_init(&uc->vc, &ud->ddev); > /* Use custom vchan completion handling */ > - tasklet_init(&uc->vc.task, udma_vchan_complete, > - (unsigned long)&uc->vc); > + tasklet_setup(&uc->vc.task, udma_vchan_complete); > init_completion(&uc->teardown_completed); > INIT_DELAYED_WORK(&uc->tx_drain.work, udma_check_tx_completion); > } > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki