dmaengine: xilinx: convert tasklets to use new tasklet_setup() API

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@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
Link: https://lore.kernel.org/r/20200831103542.305571-33-allen.lkml@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Allen Pais 2020-08-31 16:05:39 +05:30 committed by Vinod Koul
parent 0e71d9b9e8
commit f19a11d40a
2 changed files with 6 additions and 7 deletions

View File

@ -1046,9 +1046,9 @@ static void xilinx_dma_chan_desc_cleanup(struct xilinx_dma_chan *chan)
* xilinx_dma_do_tasklet - Schedule completion tasklet * xilinx_dma_do_tasklet - Schedule completion tasklet
* @data: Pointer to the Xilinx DMA channel structure * @data: Pointer to the Xilinx DMA channel structure
*/ */
static void xilinx_dma_do_tasklet(unsigned long data) static void xilinx_dma_do_tasklet(struct tasklet_struct *t)
{ {
struct xilinx_dma_chan *chan = (struct xilinx_dma_chan *)data; struct xilinx_dma_chan *chan = from_tasklet(chan, t, tasklet);
xilinx_dma_chan_desc_cleanup(chan); xilinx_dma_chan_desc_cleanup(chan);
} }
@ -2846,8 +2846,7 @@ static int xilinx_dma_chan_probe(struct xilinx_dma_device *xdev,
} }
/* Initialize the tasklet */ /* Initialize the tasklet */
tasklet_init(&chan->tasklet, xilinx_dma_do_tasklet, tasklet_setup(&chan->tasklet, xilinx_dma_do_tasklet);
(unsigned long)chan);
/* /*
* Initialize the DMA channel and add it to the DMA engine channels * Initialize the DMA channel and add it to the DMA engine channels

View File

@ -744,9 +744,9 @@ static irqreturn_t zynqmp_dma_irq_handler(int irq, void *data)
* zynqmp_dma_do_tasklet - Schedule completion tasklet * zynqmp_dma_do_tasklet - Schedule completion tasklet
* @data: Pointer to the ZynqMP DMA channel structure * @data: Pointer to the ZynqMP DMA channel structure
*/ */
static void zynqmp_dma_do_tasklet(unsigned long data) static void zynqmp_dma_do_tasklet(struct tasklet_struct *t)
{ {
struct zynqmp_dma_chan *chan = (struct zynqmp_dma_chan *)data; struct zynqmp_dma_chan *chan = from_tasklet(chan, t, tasklet);
u32 count; u32 count;
unsigned long irqflags; unsigned long irqflags;
@ -908,7 +908,7 @@ static int zynqmp_dma_chan_probe(struct zynqmp_dma_device *zdev,
chan->is_dmacoherent = of_property_read_bool(node, "dma-coherent"); chan->is_dmacoherent = of_property_read_bool(node, "dma-coherent");
zdev->chan = chan; zdev->chan = chan;
tasklet_init(&chan->tasklet, zynqmp_dma_do_tasklet, (ulong)chan); tasklet_setup(&chan->tasklet, zynqmp_dma_do_tasklet);
spin_lock_init(&chan->lock); spin_lock_init(&chan->lock);
INIT_LIST_HEAD(&chan->active_list); INIT_LIST_HEAD(&chan->active_list);
INIT_LIST_HEAD(&chan->pending_list); INIT_LIST_HEAD(&chan->pending_list);