aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/shdma.h
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2010-02-11 16:50:10 +0000
committerPaul Mundt <lethal@linux-sh.org>2010-03-02 11:09:02 +0900
commit027811b9b81a6b3ae5aa20c3302897bee9dcf09e (patch)
treecde9b764d10d7ba9d0a41d9c780bf9032214dcae /drivers/dma/shdma.h
parent47a4dc26eeb89a3746f9b1e2092602b40469640a (diff)
downloadkernel_samsung_smdk4412-027811b9b81a6b3ae5aa20c3302897bee9dcf09e.zip
kernel_samsung_smdk4412-027811b9b81a6b3ae5aa20c3302897bee9dcf09e.tar.gz
kernel_samsung_smdk4412-027811b9b81a6b3ae5aa20c3302897bee9dcf09e.tar.bz2
dmaengine: shdma: convert to platform device resources
The shdma dmaengine driver currently uses numerous macros to support various platforms, selected by ifdef's. Convert it to use platform device resources and lists of channel descriptors to specify register locations, interrupt numbers and other system-specific configuration variants. Unavoidably, we have to simultaneously convert all shdma users to provide those resources. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/dma/shdma.h')
-rw-r--r--drivers/dma/shdma.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dma/shdma.h b/drivers/dma/shdma.h
index 7e227f3..800fd88 100644
--- a/drivers/dma/shdma.h
+++ b/drivers/dma/shdma.h
@@ -47,14 +47,18 @@ struct sh_dmae_chan {
struct tasklet_struct tasklet; /* Tasklet */
int descs_allocated; /* desc count */
int xmit_shift; /* log_2(bytes_per_xfer) */
+ int irq;
int id; /* Raw id of this channel */
+ u32 __iomem *base;
char dev_id[16]; /* unique name per DMAC of channel */
};
struct sh_dmae_device {
struct dma_device common;
struct sh_dmae_chan *chan[MAX_DMA_CHANNELS];
- struct sh_dmae_pdata pdata;
+ struct sh_dmae_pdata *pdata;
+ u32 __iomem *chan_reg;
+ u16 __iomem *dmars;
};
#define to_sh_chan(chan) container_of(chan, struct sh_dmae_chan, common)