summaryrefslogtreecommitdiffstats
path: root/include/linux/shdma-base.h
diff options
context:
space:
mode:
authorGuennadi Liakhovetski2012-07-05 12:29:42 +0200
committerVinod Koul2012-07-20 07:58:20 +0200
commit1ff8df4f5388ad66bd7d0199b5839a2e3345c055 (patch)
treec6d80a09a4722c8c39cea58b80a771e34594b74b /include/linux/shdma-base.h
parentdma: sh: use an integer slave ID to improve API compatibility (diff)
downloadkernel-qcow2-linux-1ff8df4f5388ad66bd7d0199b5839a2e3345c055.tar.gz
kernel-qcow2-linux-1ff8df4f5388ad66bd7d0199b5839a2e3345c055.tar.xz
kernel-qcow2-linux-1ff8df4f5388ad66bd7d0199b5839a2e3345c055.zip
dma: sh: provide a migration path for slave drivers to stop using .private
This patch extends the sh dmaengine driver to support the preferred channel selection and configuration method, instead of using the "private" field from struct dma_chan. We add a standard filter function to be used by slave drivers instead of implementing their own ones, and add support for the DMA_SLAVE_CONFIG control operation, which must accompany the new channel selection method. We still support the legacy .private channel allocation method to cater for a smooth driver migration. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> [applied a trvial checkpath fix] Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'include/linux/shdma-base.h')
-rw-r--r--include/linux/shdma-base.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/shdma-base.h b/include/linux/shdma-base.h
index 6263ad2e7426..93f9821554b6 100644
--- a/include/linux/shdma-base.h
+++ b/include/linux/shdma-base.h
@@ -93,7 +93,7 @@ struct shdma_ops {
dma_addr_t (*slave_addr)(struct shdma_chan *);
int (*desc_setup)(struct shdma_chan *, struct shdma_desc *,
dma_addr_t, dma_addr_t, size_t *);
- int (*set_slave)(struct shdma_chan *, int);
+ int (*set_slave)(struct shdma_chan *, int, bool);
void (*setup_xfer)(struct shdma_chan *, int);
void (*start_xfer)(struct shdma_chan *, struct shdma_desc *);
struct shdma_desc *(*embedded_desc)(void *, int);