aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/amba-pl08x.c2
-rw-r--r--drivers/dma/at_hdmac.c7
-rw-r--r--drivers/dma/coh901318.c2
-rw-r--r--drivers/dma/dw_dmac.c2
-rw-r--r--drivers/dma/ep93xx_dma.c6
-rw-r--r--drivers/dma/fsldma.c4
-rw-r--r--drivers/dma/imx-dma.c5
-rw-r--r--drivers/dma/imx-sdma.c5
-rw-r--r--drivers/dma/intel_mid_dma.c3
-rw-r--r--drivers/dma/ipu/ipu_idmac.c3
-rw-r--r--drivers/dma/mxs-dma.c5
-rw-r--r--drivers/dma/pch_dma.c3
-rw-r--r--drivers/dma/pl330.c5
-rw-r--r--drivers/dma/shdma.c3
-rw-r--r--drivers/dma/sirf-dma.c2
-rw-r--r--drivers/dma/ste_dma40.c5
-rw-r--r--drivers/dma/timb_dma.c3
-rw-r--r--drivers/dma/txx9dmac.c2
-rw-r--r--include/linux/dmaengine.h12
19 files changed, 49 insertions, 30 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index 1b53f260525..c301a8ec31a 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1313,7 +1313,7 @@ static struct dma_async_tx_descriptor *pl08x_prep_dma_memcpy(
1313static struct dma_async_tx_descriptor *pl08x_prep_slave_sg( 1313static struct dma_async_tx_descriptor *pl08x_prep_slave_sg(
1314 struct dma_chan *chan, struct scatterlist *sgl, 1314 struct dma_chan *chan, struct scatterlist *sgl,
1315 unsigned int sg_len, enum dma_transfer_direction direction, 1315 unsigned int sg_len, enum dma_transfer_direction direction,
1316 unsigned long flags) 1316 unsigned long flags, void *context)
1317{ 1317{
1318 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); 1318 struct pl08x_dma_chan *plchan = to_pl08x_chan(chan);
1319 struct pl08x_driver_data *pl08x = plchan->host; 1319 struct pl08x_driver_data *pl08x = plchan->host;
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
index 5d225ddc769..f24b16e455f 100644
--- a/drivers/dma/at_hdmac.c
+++ b/drivers/dma/at_hdmac.c
@@ -639,11 +639,12 @@ err_desc_get:
639 * @sg_len: number of entries in @scatterlist 639 * @sg_len: number of entries in @scatterlist
640 * @direction: DMA direction 640 * @direction: DMA direction
641 * @flags: tx descriptor status flags 641 * @flags: tx descriptor status flags
642 * @context: transaction context (ignored)
642 */ 643 */
643static struct dma_async_tx_descriptor * 644static struct dma_async_tx_descriptor *
644atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 645atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
645 unsigned int sg_len, enum dma_transfer_direction direction, 646 unsigned int sg_len, enum dma_transfer_direction direction,
646 unsigned long flags) 647 unsigned long flags, void *context)
647{ 648{
648 struct at_dma_chan *atchan = to_at_dma_chan(chan); 649 struct at_dma_chan *atchan = to_at_dma_chan(chan);
649 struct at_dma_slave *atslave = chan->private; 650 struct at_dma_slave *atslave = chan->private;
@@ -840,10 +841,12 @@ atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc,
840 * @buf_len: total number of bytes for the entire buffer 841 * @buf_len: total number of bytes for the entire buffer
841 * @period_len: number of bytes for each period 842 * @period_len: number of bytes for each period
842 * @direction: transfer direction, to or from device 843 * @direction: transfer direction, to or from device
844 * @context: transfer context (ignored)
843 */ 845 */
844static struct dma_async_tx_descriptor * 846static struct dma_async_tx_descriptor *
845atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, 847atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
846 size_t period_len, enum dma_transfer_direction direction) 848 size_t period_len, enum dma_transfer_direction direction,
849 void *context)
847{ 850{
848 struct at_dma_chan *atchan = to_at_dma_chan(chan); 851 struct at_dma_chan *atchan = to_at_dma_chan(chan);
849 struct at_dma_slave *atslave = chan->private; 852 struct at_dma_slave *atslave = chan->private;
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c
index 187bb9eef4a..dc89455f555 100644
--- a/drivers/dma/coh901318.c
+++ b/drivers/dma/coh901318.c
@@ -1021,7 +1021,7 @@ coh901318_prep_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
1021static struct dma_async_tx_descriptor * 1021static struct dma_async_tx_descriptor *
1022coh901318_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 1022coh901318_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
1023 unsigned int sg_len, enum dma_transfer_direction direction, 1023 unsigned int sg_len, enum dma_transfer_direction direction,
1024 unsigned long flags) 1024 unsigned long flags, void *context)
1025{ 1025{
1026 struct coh901318_chan *cohc = to_coh901318_chan(chan); 1026 struct coh901318_chan *cohc = to_coh901318_chan(chan);
1027 struct coh901318_lli *lli; 1027 struct coh901318_lli *lli;
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
index cb173bbdcfd..7439079f5ee 100644
--- a/drivers/dma/dw_dmac.c
+++ b/drivers/dma/dw_dmac.c
@@ -704,7 +704,7 @@ err_desc_get:
704static struct dma_async_tx_descriptor * 704static struct dma_async_tx_descriptor *
705dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 705dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
706 unsigned int sg_len, enum dma_transfer_direction direction, 706 unsigned int sg_len, enum dma_transfer_direction direction,
707 unsigned long flags) 707 unsigned long flags, void *context)
708{ 708{
709 struct dw_dma_chan *dwc = to_dw_dma_chan(chan); 709 struct dw_dma_chan *dwc = to_dw_dma_chan(chan);
710 struct dw_dma_slave *dws = chan->private; 710 struct dw_dma_slave *dws = chan->private;
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
index f25e83bf567..e6f133b78dc 100644
--- a/drivers/dma/ep93xx_dma.c
+++ b/drivers/dma/ep93xx_dma.c
@@ -975,13 +975,14 @@ fail:
975 * @sg_len: number of entries in @sgl 975 * @sg_len: number of entries in @sgl
976 * @dir: direction of tha DMA transfer 976 * @dir: direction of tha DMA transfer
977 * @flags: flags for the descriptor 977 * @flags: flags for the descriptor
978 * @context: operation context (ignored)
978 * 979 *
979 * Returns a valid DMA descriptor or %NULL in case of failure. 980 * Returns a valid DMA descriptor or %NULL in case of failure.
980 */ 981 */
981static struct dma_async_tx_descriptor * 982static struct dma_async_tx_descriptor *
982ep93xx_dma_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 983ep93xx_dma_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
983 unsigned int sg_len, enum dma_transfer_direction dir, 984 unsigned int sg_len, enum dma_transfer_direction dir,
984 unsigned long flags) 985 unsigned long flags, void *context)
985{ 986{
986 struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); 987 struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan);
987 struct ep93xx_dma_desc *desc, *first; 988 struct ep93xx_dma_desc *desc, *first;
@@ -1048,6 +1049,7 @@ fail:
1048 * @buf_len: length of the buffer (in bytes) 1049 * @buf_len: length of the buffer (in bytes)
1049 * @period_len: lenght of a single period 1050 * @period_len: lenght of a single period
1050 * @dir: direction of the operation 1051 * @dir: direction of the operation
1052 * @context: operation context (ignored)
1051 * 1053 *
1052 * Prepares a descriptor for cyclic DMA operation. This means that once the 1054 * Prepares a descriptor for cyclic DMA operation. This means that once the
1053 * descriptor is submitted, we will be submitting in a @period_len sized 1055 * descriptor is submitted, we will be submitting in a @period_len sized
@@ -1060,7 +1062,7 @@ fail:
1060static struct dma_async_tx_descriptor * 1062static struct dma_async_tx_descriptor *
1061ep93xx_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, 1063ep93xx_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr,
1062 size_t buf_len, size_t period_len, 1064 size_t buf_len, size_t period_len,
1063 enum dma_transfer_direction dir) 1065 enum dma_transfer_direction dir, void *context)
1064{ 1066{
1065 struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); 1067 struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan);
1066 struct ep93xx_dma_desc *desc, *first; 1068 struct ep93xx_dma_desc *desc, *first;
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index 7d7384b3462..8f84761f98b 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -759,6 +759,7 @@ fail:
759 * @sg_len: number of entries in @scatterlist 759 * @sg_len: number of entries in @scatterlist
760 * @direction: DMA direction 760 * @direction: DMA direction
761 * @flags: DMAEngine flags 761 * @flags: DMAEngine flags
762 * @context: transaction context (ignored)
762 * 763 *
763 * Prepare a set of descriptors for a DMA_SLAVE transaction. Following the 764 * Prepare a set of descriptors for a DMA_SLAVE transaction. Following the
764 * DMA_SLAVE API, this gets the device-specific information from the 765 * DMA_SLAVE API, this gets the device-specific information from the
@@ -766,7 +767,8 @@ fail:
766 */ 767 */
767static struct dma_async_tx_descriptor *fsl_dma_prep_slave_sg( 768static struct dma_async_tx_descriptor *fsl_dma_prep_slave_sg(
768 struct dma_chan *dchan, struct scatterlist *sgl, unsigned int sg_len, 769 struct dma_chan *dchan, struct scatterlist *sgl, unsigned int sg_len,
769 enum dma_transfer_direction direction, unsigned long flags) 770 enum dma_transfer_direction direction, unsigned long flags,
771 void *context)
770{ 772{
771 /* 773 /*
772 * This operation is not supported on the Freescale DMA controller 774 * This operation is not supported on the Freescale DMA controller
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
index 20c1565a748..304839a99ae 100644
--- a/drivers/dma/imx-dma.c
+++ b/drivers/dma/imx-dma.c
@@ -354,7 +354,7 @@ static void imxdma_free_chan_resources(struct dma_chan *chan)
354static struct dma_async_tx_descriptor *imxdma_prep_slave_sg( 354static struct dma_async_tx_descriptor *imxdma_prep_slave_sg(
355 struct dma_chan *chan, struct scatterlist *sgl, 355 struct dma_chan *chan, struct scatterlist *sgl,
356 unsigned int sg_len, enum dma_transfer_direction direction, 356 unsigned int sg_len, enum dma_transfer_direction direction,
357 unsigned long flags) 357 unsigned long flags, void *context)
358{ 358{
359 struct imxdma_channel *imxdmac = to_imxdma_chan(chan); 359 struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
360 struct scatterlist *sg; 360 struct scatterlist *sg;
@@ -405,7 +405,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_slave_sg(
405 405
406static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( 406static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic(
407 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, 407 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len,
408 size_t period_len, enum dma_transfer_direction direction) 408 size_t period_len, enum dma_transfer_direction direction,
409 void *context)
409{ 410{
410 struct imxdma_channel *imxdmac = to_imxdma_chan(chan); 411 struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
411 struct imxdma_engine *imxdma = imxdmac->imxdma; 412 struct imxdma_engine *imxdma = imxdmac->imxdma;
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index f8259ee49f8..434fb610aa1 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -903,7 +903,7 @@ static void sdma_free_chan_resources(struct dma_chan *chan)
903static struct dma_async_tx_descriptor *sdma_prep_slave_sg( 903static struct dma_async_tx_descriptor *sdma_prep_slave_sg(
904 struct dma_chan *chan, struct scatterlist *sgl, 904 struct dma_chan *chan, struct scatterlist *sgl,
905 unsigned int sg_len, enum dma_transfer_direction direction, 905 unsigned int sg_len, enum dma_transfer_direction direction,
906 unsigned long flags) 906 unsigned long flags, void *context)
907{ 907{
908 struct sdma_channel *sdmac = to_sdma_chan(chan); 908 struct sdma_channel *sdmac = to_sdma_chan(chan);
909 struct sdma_engine *sdma = sdmac->sdma; 909 struct sdma_engine *sdma = sdmac->sdma;
@@ -1001,7 +1001,8 @@ err_out:
1001 1001
1002static struct dma_async_tx_descriptor *sdma_prep_dma_cyclic( 1002static struct dma_async_tx_descriptor *sdma_prep_dma_cyclic(
1003 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, 1003 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len,
1004 size_t period_len, enum dma_transfer_direction direction) 1004 size_t period_len, enum dma_transfer_direction direction,
1005 void *context)
1005{ 1006{
1006 struct sdma_channel *sdmac = to_sdma_chan(chan); 1007 struct sdma_channel *sdmac = to_sdma_chan(chan);
1007 struct sdma_engine *sdma = sdmac->sdma; 1008 struct sdma_engine *sdma = sdmac->sdma;
diff --git a/drivers/dma/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c
index 2449812f546..c900ca7aaec 100644
--- a/drivers/dma/intel_mid_dma.c
+++ b/drivers/dma/intel_mid_dma.c
@@ -714,13 +714,14 @@ err_desc_get:
714 * @sg_len: length of sg txn 714 * @sg_len: length of sg txn
715 * @direction: DMA transfer dirtn 715 * @direction: DMA transfer dirtn
716 * @flags: DMA flags 716 * @flags: DMA flags
717 * @context: transfer context (ignored)
717 * 718 *
718 * Prepares LLI based periphral transfer 719 * Prepares LLI based periphral transfer
719 */ 720 */
720static struct dma_async_tx_descriptor *intel_mid_dma_prep_slave_sg( 721static struct dma_async_tx_descriptor *intel_mid_dma_prep_slave_sg(
721 struct dma_chan *chan, struct scatterlist *sgl, 722 struct dma_chan *chan, struct scatterlist *sgl,
722 unsigned int sg_len, enum dma_transfer_direction direction, 723 unsigned int sg_len, enum dma_transfer_direction direction,
723 unsigned long flags) 724 unsigned long flags, void *context)
724{ 725{
725 struct intel_mid_dma_chan *midc = NULL; 726 struct intel_mid_dma_chan *midc = NULL;
726 struct intel_mid_dma_slave *mids = NULL; 727 struct intel_mid_dma_slave *mids = NULL;
diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c
index 1880274b085..62e3f8ec246 100644
--- a/drivers/dma/ipu/ipu_idmac.c
+++ b/drivers/dma/ipu/ipu_idmac.c
@@ -1335,7 +1335,8 @@ static void ipu_gc_tasklet(unsigned long arg)
1335/* Allocate and initialise a transfer descriptor. */ 1335/* Allocate and initialise a transfer descriptor. */
1336static struct dma_async_tx_descriptor *idmac_prep_slave_sg(struct dma_chan *chan, 1336static struct dma_async_tx_descriptor *idmac_prep_slave_sg(struct dma_chan *chan,
1337 struct scatterlist *sgl, unsigned int sg_len, 1337 struct scatterlist *sgl, unsigned int sg_len,
1338 enum dma_transfer_direction direction, unsigned long tx_flags) 1338 enum dma_transfer_direction direction, unsigned long tx_flags,
1339 void *context)
1339{ 1340{
1340 struct idmac_channel *ichan = to_idmac_chan(chan); 1341 struct idmac_channel *ichan = to_idmac_chan(chan);
1341 struct idmac_tx_desc *desc = NULL; 1342 struct idmac_tx_desc *desc = NULL;
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index a2267f9ab56..65334c49b71 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -340,7 +340,7 @@ static void mxs_dma_free_chan_resources(struct dma_chan *chan)
340static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg( 340static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg(
341 struct dma_chan *chan, struct scatterlist *sgl, 341 struct dma_chan *chan, struct scatterlist *sgl,
342 unsigned int sg_len, enum dma_transfer_direction direction, 342 unsigned int sg_len, enum dma_transfer_direction direction,
343 unsigned long append) 343 unsigned long append, void *context)
344{ 344{
345 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); 345 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
346 struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; 346 struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma;
@@ -435,7 +435,8 @@ err_out:
435 435
436static struct dma_async_tx_descriptor *mxs_dma_prep_dma_cyclic( 436static struct dma_async_tx_descriptor *mxs_dma_prep_dma_cyclic(
437 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, 437 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len,
438 size_t period_len, enum dma_transfer_direction direction) 438 size_t period_len, enum dma_transfer_direction direction,
439 void *context)
439{ 440{
440 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); 441 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
441 struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; 442 struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma;
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c
index c93bb045997..65c0495a6d4 100644
--- a/drivers/dma/pch_dma.c
+++ b/drivers/dma/pch_dma.c
@@ -587,7 +587,8 @@ static void pd_issue_pending(struct dma_chan *chan)
587 587
588static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan, 588static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan,
589 struct scatterlist *sgl, unsigned int sg_len, 589 struct scatterlist *sgl, unsigned int sg_len,
590 enum dma_transfer_direction direction, unsigned long flags) 590 enum dma_transfer_direction direction, unsigned long flags,
591 void *context)
591{ 592{
592 struct pch_dma_chan *pd_chan = to_pd_chan(chan); 593 struct pch_dma_chan *pd_chan = to_pd_chan(chan);
593 struct pch_dma_slave *pd_slave = chan->private; 594 struct pch_dma_slave *pd_slave = chan->private;
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index e863d7fc465..87d752a77f5 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2685,7 +2685,8 @@ static inline int get_burst_len(struct dma_pl330_desc *desc, size_t len)
2685 2685
2686static struct dma_async_tx_descriptor *pl330_prep_dma_cyclic( 2686static struct dma_async_tx_descriptor *pl330_prep_dma_cyclic(
2687 struct dma_chan *chan, dma_addr_t dma_addr, size_t len, 2687 struct dma_chan *chan, dma_addr_t dma_addr, size_t len,
2688 size_t period_len, enum dma_transfer_direction direction) 2688 size_t period_len, enum dma_transfer_direction direction,
2689 void *context)
2689{ 2690{
2690 struct dma_pl330_desc *desc; 2691 struct dma_pl330_desc *desc;
2691 struct dma_pl330_chan *pch = to_pchan(chan); 2692 struct dma_pl330_chan *pch = to_pchan(chan);
@@ -2775,7 +2776,7 @@ pl330_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dst,
2775static struct dma_async_tx_descriptor * 2776static struct dma_async_tx_descriptor *
2776pl330_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 2777pl330_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
2777 unsigned int sg_len, enum dma_transfer_direction direction, 2778 unsigned int sg_len, enum dma_transfer_direction direction,
2778 unsigned long flg) 2779 unsigned long flg, void *context)
2779{ 2780{
2780 struct dma_pl330_desc *first, *desc = NULL; 2781 struct dma_pl330_desc *first, *desc = NULL;
2781 struct dma_pl330_chan *pch = to_pchan(chan); 2782 struct dma_pl330_chan *pch = to_pchan(chan);
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c
index 5c4088603dd..19d7a8d3975 100644
--- a/drivers/dma/shdma.c
+++ b/drivers/dma/shdma.c
@@ -669,7 +669,8 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_memcpy(
669 669
670static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg( 670static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg(
671 struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, 671 struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len,
672 enum dma_transfer_direction direction, unsigned long flags) 672 enum dma_transfer_direction direction, unsigned long flags,
673 void *context)
673{ 674{
674 struct sh_dmae_slave *param; 675 struct sh_dmae_slave *param;
675 struct sh_dmae_chan *sh_chan; 676 struct sh_dmae_chan *sh_chan;
diff --git a/drivers/dma/sirf-dma.c b/drivers/dma/sirf-dma.c
index 45ba352fb87..434ad31174f 100644
--- a/drivers/dma/sirf-dma.c
+++ b/drivers/dma/sirf-dma.c
@@ -489,7 +489,7 @@ err_dir:
489static struct dma_async_tx_descriptor * 489static struct dma_async_tx_descriptor *
490sirfsoc_dma_prep_cyclic(struct dma_chan *chan, dma_addr_t addr, 490sirfsoc_dma_prep_cyclic(struct dma_chan *chan, dma_addr_t addr,
491 size_t buf_len, size_t period_len, 491 size_t buf_len, size_t period_len,
492 enum dma_transfer_direction direction) 492 enum dma_transfer_direction direction, void *context)
493{ 493{
494 struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan); 494 struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan);
495 struct sirfsoc_dma_desc *sdesc = NULL; 495 struct sirfsoc_dma_desc *sdesc = NULL;
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index 1ea6d02d08a..bdd41d4bfa8 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -2289,7 +2289,8 @@ static struct dma_async_tx_descriptor *d40_prep_slave_sg(struct dma_chan *chan,
2289 struct scatterlist *sgl, 2289 struct scatterlist *sgl,
2290 unsigned int sg_len, 2290 unsigned int sg_len,
2291 enum dma_transfer_direction direction, 2291 enum dma_transfer_direction direction,
2292 unsigned long dma_flags) 2292 unsigned long dma_flags,
2293 void *context)
2293{ 2294{
2294 if (direction != DMA_DEV_TO_MEM && direction != DMA_MEM_TO_DEV) 2295 if (direction != DMA_DEV_TO_MEM && direction != DMA_MEM_TO_DEV)
2295 return NULL; 2296 return NULL;
@@ -2300,7 +2301,7 @@ static struct dma_async_tx_descriptor *d40_prep_slave_sg(struct dma_chan *chan,
2300static struct dma_async_tx_descriptor * 2301static struct dma_async_tx_descriptor *
2301dma40_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, 2302dma40_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr,
2302 size_t buf_len, size_t period_len, 2303 size_t buf_len, size_t period_len,
2303 enum dma_transfer_direction direction) 2304 enum dma_transfer_direction direction, void *context)
2304{ 2305{
2305 unsigned int periods = buf_len / period_len; 2306 unsigned int periods = buf_len / period_len;
2306 struct dma_async_tx_descriptor *txd; 2307 struct dma_async_tx_descriptor *txd;
diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c
index d408c220602..4e0dff59901 100644
--- a/drivers/dma/timb_dma.c
+++ b/drivers/dma/timb_dma.c
@@ -542,7 +542,8 @@ static void td_issue_pending(struct dma_chan *chan)
542 542
543static struct dma_async_tx_descriptor *td_prep_slave_sg(struct dma_chan *chan, 543static struct dma_async_tx_descriptor *td_prep_slave_sg(struct dma_chan *chan,
544 struct scatterlist *sgl, unsigned int sg_len, 544 struct scatterlist *sgl, unsigned int sg_len,
545 enum dma_transfer_direction direction, unsigned long flags) 545 enum dma_transfer_direction direction, unsigned long flags,
546 void *context)
546{ 547{
547 struct timb_dma_chan *td_chan = 548 struct timb_dma_chan *td_chan =
548 container_of(chan, struct timb_dma_chan, chan); 549 container_of(chan, struct timb_dma_chan, chan);
diff --git a/drivers/dma/txx9dmac.c b/drivers/dma/txx9dmac.c
index 40440f94638..913f55c76c9 100644
--- a/drivers/dma/txx9dmac.c
+++ b/drivers/dma/txx9dmac.c
@@ -833,7 +833,7 @@ txx9dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src,
833static struct dma_async_tx_descriptor * 833static struct dma_async_tx_descriptor *
834txx9dmac_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, 834txx9dmac_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
835 unsigned int sg_len, enum dma_transfer_direction direction, 835 unsigned int sg_len, enum dma_transfer_direction direction,
836 unsigned long flags) 836 unsigned long flags, void *context)
837{ 837{
838 struct txx9dmac_chan *dc = to_txx9dmac_chan(chan); 838 struct txx9dmac_chan *dc = to_txx9dmac_chan(chan);
839 struct txx9dmac_dev *ddev = dc->ddev; 839 struct txx9dmac_dev *ddev = dc->ddev;
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 03d68b7e570..b3b5b38776f 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -582,10 +582,11 @@ struct dma_device {
582 struct dma_async_tx_descriptor *(*device_prep_slave_sg)( 582 struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
583 struct dma_chan *chan, struct scatterlist *sgl, 583 struct dma_chan *chan, struct scatterlist *sgl,
584 unsigned int sg_len, enum dma_transfer_direction direction, 584 unsigned int sg_len, enum dma_transfer_direction direction,
585 unsigned long flags); 585 unsigned long flags, void *context);
586 struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( 586 struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)(
587 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, 587 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
588 size_t period_len, enum dma_transfer_direction direction); 588 size_t period_len, enum dma_transfer_direction direction,
589 void *context);
589 struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)( 590 struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)(
590 struct dma_chan *chan, struct dma_interleaved_template *xt, 591 struct dma_chan *chan, struct dma_interleaved_template *xt,
591 unsigned long flags); 592 unsigned long flags);
@@ -619,7 +620,8 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
619 struct scatterlist sg; 620 struct scatterlist sg;
620 sg_init_one(&sg, buf, len); 621 sg_init_one(&sg, buf, len);
621 622
622 return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags); 623 return chan->device->device_prep_slave_sg(chan, &sg, 1,
624 dir, flags, NULL);
623} 625}
624 626
625static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( 627static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg(
@@ -627,7 +629,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg(
627 enum dma_transfer_direction dir, unsigned long flags) 629 enum dma_transfer_direction dir, unsigned long flags)
628{ 630{
629 return chan->device->device_prep_slave_sg(chan, sgl, sg_len, 631 return chan->device->device_prep_slave_sg(chan, sgl, sg_len,
630 dir, flags); 632 dir, flags, NULL);
631} 633}
632 634
633static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( 635static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic(
@@ -635,7 +637,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic(
635 size_t period_len, enum dma_transfer_direction dir) 637 size_t period_len, enum dma_transfer_direction dir)
636{ 638{
637 return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, 639 return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len,
638 period_len, dir); 640 period_len, dir, NULL);
639} 641}
640 642
641static inline int dmaengine_terminate_all(struct dma_chan *chan) 643static inline int dmaengine_terminate_all(struct dma_chan *chan)