Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dmaengine: tegra20-apb-dma: convert callback to helper function

This is in preperation of moving to a callback that provides results to the
callback for the transaction. The conversion will maintain current behavior
and the driver must convert to new callback mechanism at a later time in
order to receive results.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

authored by

Dave Jiang and committed by
Vinod Koul
370c0446 3a315d5d

+4 -6
+4 -6
drivers/dma/tegra20-apb-dma.c
··· 655 655 static void tegra_dma_tasklet(unsigned long data) 656 656 { 657 657 struct tegra_dma_channel *tdc = (struct tegra_dma_channel *)data; 658 - dma_async_tx_callback callback = NULL; 659 - void *callback_param = NULL; 658 + struct dmaengine_desc_callback cb; 660 659 struct tegra_dma_desc *dma_desc; 661 660 unsigned long flags; 662 661 int cb_count; ··· 665 666 dma_desc = list_first_entry(&tdc->cb_desc, 666 667 typeof(*dma_desc), cb_node); 667 668 list_del(&dma_desc->cb_node); 668 - callback = dma_desc->txd.callback; 669 - callback_param = dma_desc->txd.callback_param; 669 + dmaengine_desc_get_callback(&dma_desc->txd, &cb); 670 670 cb_count = dma_desc->cb_count; 671 671 dma_desc->cb_count = 0; 672 672 spin_unlock_irqrestore(&tdc->lock, flags); 673 - while (cb_count-- && callback) 674 - callback(callback_param); 673 + while (cb_count--) 674 + dmaengine_desc_callback_invoke(&cb, NULL); 675 675 spin_lock_irqsave(&tdc->lock, flags); 676 676 } 677 677 spin_unlock_irqrestore(&tdc->lock, flags);