Message ID | 20200818090638.26362-36-allen.lkml@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | dma: convert tasklets to use new tasklet_setup() | expand |
Hi Allen, On 18/08/2020 12.06, 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@ti.com> > Signed-off-by: Allen Pais <allen.lkml@gmail.com> > --- > 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
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); }
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: Allen Pais <allen.lkml@gmail.com> --- drivers/dma/ti/k3-udma.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)