aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/shdma-base.h
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2012-07-05 06:29:41 -0400
committerVinod Koul <vinod.koul@linux.intel.com>2012-07-20 01:53:45 -0400
commitc2cdb7e4d16394fc51dc5c2c5b3e7c3733bdfaac (patch)
tree1e98394a20b33ed09d55b5e37a1c1ed2784721d6 /include/linux/shdma-base.h
parentecf90fbbdc66cde6f5fa25d88541112b9baac459 (diff)
dma: sh: use an integer slave ID to improve API compatibility
Initially struct shdma_slave has been introduced with the only member - an unsigned slave ID - to describe common properties of DMA slaves in an extensible way. However, experience shows, that a slave ID is indeed the only parameter, needed to identify DMA slaves. This is also, what is used by the core dmaengine API in struct dma_slave_config. We switch to using the slave_id directly, instead of passing a pointer to struct shdma_slave to improve compatibility with the core. We also make the slave_id signed for easier error checking. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> 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.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/shdma-base.h b/include/linux/shdma-base.h
index c3a19e9c20c4..6263ad2e7426 100644
--- a/include/linux/shdma-base.h
+++ b/include/linux/shdma-base.h
@@ -43,7 +43,7 @@ struct device;
43 */ 43 */
44 44
45struct shdma_slave { 45struct shdma_slave {
46 unsigned int slave_id; 46 int slave_id;
47}; 47};
48 48
49struct shdma_desc { 49struct shdma_desc {
@@ -66,7 +66,7 @@ struct shdma_chan {
66 size_t max_xfer_len; /* max transfer length */ 66 size_t max_xfer_len; /* max transfer length */
67 int id; /* Raw id of this channel */ 67 int id; /* Raw id of this channel */
68 int irq; /* Channel IRQ */ 68 int irq; /* Channel IRQ */
69 struct shdma_slave *slave; /* Client data for slave DMA */ 69 int slave_id; /* Client ID for slave DMA */
70 enum shdma_pm_state pm_state; 70 enum shdma_pm_state pm_state;
71}; 71};
72 72
@@ -93,8 +93,8 @@ struct shdma_ops {
93 dma_addr_t (*slave_addr)(struct shdma_chan *); 93 dma_addr_t (*slave_addr)(struct shdma_chan *);
94 int (*desc_setup)(struct shdma_chan *, struct shdma_desc *, 94 int (*desc_setup)(struct shdma_chan *, struct shdma_desc *,
95 dma_addr_t, dma_addr_t, size_t *); 95 dma_addr_t, dma_addr_t, size_t *);
96 int (*set_slave)(struct shdma_chan *, struct shdma_slave *); 96 int (*set_slave)(struct shdma_chan *, int);
97 void (*setup_xfer)(struct shdma_chan *, struct shdma_slave *); 97 void (*setup_xfer)(struct shdma_chan *, int);
98 void (*start_xfer)(struct shdma_chan *, struct shdma_desc *); 98 void (*start_xfer)(struct shdma_chan *, struct shdma_desc *);
99 struct shdma_desc *(*embedded_desc)(void *, int); 99 struct shdma_desc *(*embedded_desc)(void *, int);
100 bool (*chan_irq)(struct shdma_chan *, int); 100 bool (*chan_irq)(struct shdma_chan *, int);