diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-11-29 06:40:28 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-11-29 13:42:40 -0500 |
commit | dcea83adc666061864b82c96e059dffe7268b512 (patch) | |
tree | 4882086842f53bee3f6c655e6a3283effd3fbdff /arch/arm/mach-imx | |
parent | c72e005b099302b3c6bee8381396199b77b6dd4f (diff) |
[ARM] Hide ISA DMA API when ISA_DMA_API is unset
When ISA_DMA_API is unset, we're not implementing the ISA DMA API,
so there's no point in publishing the prototypes via asm/dma.h, nor
including the machine dependent parts of that API.
This allows us to remove a lot of mach/dma.h files which don't contain
any useful code. Unfortunately though, some platforms put their own
private non-ISA definitions into mach/dma.h, so we leave these behind
and fix the appropriate #include statments.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/dma.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/imx-dma.h | 12 |
2 files changed, 12 insertions, 7 deletions
diff --git a/arch/arm/mach-imx/dma.c b/arch/arm/mach-imx/dma.c index c10810c936b3..1536583eece0 100644 --- a/arch/arm/mach-imx/dma.c +++ b/arch/arm/mach-imx/dma.c | |||
@@ -28,10 +28,11 @@ | |||
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
30 | 30 | ||
31 | #include <asm/scatterlist.h> | ||
31 | #include <asm/system.h> | 32 | #include <asm/system.h> |
32 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
33 | #include <mach/hardware.h> | 34 | #include <mach/hardware.h> |
34 | #include <asm/dma.h> | 35 | #include <mach/dma.h> |
35 | #include <mach/imx-dma.h> | 36 | #include <mach/imx-dma.h> |
36 | 37 | ||
37 | struct imx_dma_channel imx_dma_channels[IMX_DMA_CHANNELS]; | 38 | struct imx_dma_channel imx_dma_channels[IMX_DMA_CHANNELS]; |
@@ -138,7 +139,7 @@ imx_dma_setup_sg_base(imx_dmach_t dma_ch, | |||
138 | int | 139 | int |
139 | imx_dma_setup_single(imx_dmach_t dma_ch, dma_addr_t dma_address, | 140 | imx_dma_setup_single(imx_dmach_t dma_ch, dma_addr_t dma_address, |
140 | unsigned int dma_length, unsigned int dev_addr, | 141 | unsigned int dma_length, unsigned int dev_addr, |
141 | dmamode_t dmamode) | 142 | unsigned int dmamode) |
142 | { | 143 | { |
143 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; | 144 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; |
144 | 145 | ||
@@ -223,7 +224,7 @@ imx_dma_setup_single(imx_dmach_t dma_ch, dma_addr_t dma_address, | |||
223 | int | 224 | int |
224 | imx_dma_setup_sg(imx_dmach_t dma_ch, | 225 | imx_dma_setup_sg(imx_dmach_t dma_ch, |
225 | struct scatterlist *sg, unsigned int sgcount, unsigned int dma_length, | 226 | struct scatterlist *sg, unsigned int sgcount, unsigned int dma_length, |
226 | unsigned int dev_addr, dmamode_t dmamode) | 227 | unsigned int dev_addr, unsigned int dmamode) |
227 | { | 228 | { |
228 | int res; | 229 | int res; |
229 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; | 230 | struct imx_dma_channel *imxdma = &imx_dma_channels[dma_ch]; |
diff --git a/arch/arm/mach-imx/include/mach/imx-dma.h b/arch/arm/mach-imx/include/mach/imx-dma.h index 44d89c35539a..bbe54df7f0de 100644 --- a/arch/arm/mach-imx/include/mach/imx-dma.h +++ b/arch/arm/mach-imx/include/mach/imx-dma.h | |||
@@ -18,7 +18,7 @@ | |||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <asm/dma.h> | 21 | #include <mach/dma.h> |
22 | 22 | ||
23 | #ifndef __ASM_ARCH_IMX_DMA_H | 23 | #ifndef __ASM_ARCH_IMX_DMA_H |
24 | #define __ASM_ARCH_IMX_DMA_H | 24 | #define __ASM_ARCH_IMX_DMA_H |
@@ -48,7 +48,7 @@ struct imx_dma_channel { | |||
48 | void (*irq_handler) (int, void *); | 48 | void (*irq_handler) (int, void *); |
49 | void (*err_handler) (int, void *, int errcode); | 49 | void (*err_handler) (int, void *, int errcode); |
50 | void *data; | 50 | void *data; |
51 | dmamode_t dma_mode; | 51 | unsigned int dma_mode; |
52 | struct scatterlist *sg; | 52 | struct scatterlist *sg; |
53 | unsigned int sgbc; | 53 | unsigned int sgbc; |
54 | unsigned int sgcount; | 54 | unsigned int sgcount; |
@@ -66,14 +66,18 @@ extern struct imx_dma_channel imx_dma_channels[IMX_DMA_CHANNELS]; | |||
66 | /* The type to distinguish channel numbers parameter from ordinal int type */ | 66 | /* The type to distinguish channel numbers parameter from ordinal int type */ |
67 | typedef int imx_dmach_t; | 67 | typedef int imx_dmach_t; |
68 | 68 | ||
69 | #define DMA_MODE_READ 0 | ||
70 | #define DMA_MODE_WRITE 1 | ||
71 | #define DMA_MODE_MASK 1 | ||
72 | |||
69 | int | 73 | int |
70 | imx_dma_setup_single(imx_dmach_t dma_ch, dma_addr_t dma_address, | 74 | imx_dma_setup_single(imx_dmach_t dma_ch, dma_addr_t dma_address, |
71 | unsigned int dma_length, unsigned int dev_addr, dmamode_t dmamode); | 75 | unsigned int dma_length, unsigned int dev_addr, unsigned int dmamode); |
72 | 76 | ||
73 | int | 77 | int |
74 | imx_dma_setup_sg(imx_dmach_t dma_ch, | 78 | imx_dma_setup_sg(imx_dmach_t dma_ch, |
75 | struct scatterlist *sg, unsigned int sgcount, unsigned int dma_length, | 79 | struct scatterlist *sg, unsigned int sgcount, unsigned int dma_length, |
76 | unsigned int dev_addr, dmamode_t dmamode); | 80 | unsigned int dev_addr, unsigned int dmamode); |
77 | 81 | ||
78 | int | 82 | int |
79 | imx_dma_setup_handlers(imx_dmach_t dma_ch, | 83 | imx_dma_setup_handlers(imx_dmach_t dma_ch, |