diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2013-01-27 04:33:22 -0500 |
---|---|---|
committer | Marek Szyprowski <m.szyprowski@samsung.com> | 2013-01-29 02:11:14 -0500 |
commit | 18180651fd156f33be363b0c952efb4d29812b38 (patch) | |
tree | 4d97487a8853af64e0be72478c2512c0d51af3fb /arch/c6x | |
parent | afbe21d8b3aedc9d9df0110eaad3d3a816db55ad (diff) |
c6x: Provide dummy dma_mmap_coherent() and dma_get_sgtable()
c6x/allmodconfig (assumed):
drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_mmap’:
drivers/media/v4l2-core/videobuf2-dma-contig.c:204: error: implicit declaration of function ‘dma_mmap_coherent’
drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_get_base_sgt’:
drivers/media/v4l2-core/videobuf2-dma-contig.c:387: error: implicit declaration of function ‘dma_get_sgtable’
For architectures using dma_map_ops, dma_mmap_coherent() and
dma_get_sgtable() are provided in <asm-generic/dma-mapping-common.h>.
C6x does not use dma_map_ops, hence it should implement them itself.
For now, use dummy implementations that just return -EINVAL, until the API
has been finalized.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-c6x-dev@linux-c6x.org
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'arch/c6x')
-rw-r--r-- | arch/c6x/include/asm/dma-mapping.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/c6x/include/asm/dma-mapping.h b/arch/c6x/include/asm/dma-mapping.h index 3c694065030f..88bd0d899bdb 100644 --- a/arch/c6x/include/asm/dma-mapping.h +++ b/arch/c6x/include/asm/dma-mapping.h | |||
@@ -89,4 +89,19 @@ extern void dma_free_coherent(struct device *, size_t, void *, dma_addr_t); | |||
89 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent((d), (s), (h), (f)) | 89 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent((d), (s), (h), (f)) |
90 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent((d), (s), (v), (h)) | 90 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent((d), (s), (v), (h)) |
91 | 91 | ||
92 | /* Not supported for now */ | ||
93 | static inline int dma_mmap_coherent(struct device *dev, | ||
94 | struct vm_area_struct *vma, void *cpu_addr, | ||
95 | dma_addr_t dma_addr, size_t size) | ||
96 | { | ||
97 | return -EINVAL; | ||
98 | } | ||
99 | |||
100 | static inline int dma_get_sgtable(struct device *dev, struct sg_table *sgt, | ||
101 | void *cpu_addr, dma_addr_t dma_addr, | ||
102 | size_t size) | ||
103 | { | ||
104 | return -EINVAL; | ||
105 | } | ||
106 | |||
92 | #endif /* _ASM_C6X_DMA_MAPPING_H */ | 107 | #endif /* _ASM_C6X_DMA_MAPPING_H */ |