Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k: Provide dma_mmap_coherent() and dma_get_sgtable()

m68k/allmodconfig:

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>.

M68k does not use dma_map_ops, hence it should implement them as inline
stubs using dma_common_mmap() and dma_common_get_sgtable().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

authored by

Geert Uytterhoeven and committed by
Marek Szyprowski
546eda4b 5fd38112

+10
+10
arch/m68k/include/asm/dma-mapping.h
··· 115 115 #include <asm-generic/dma-mapping-broken.h> 116 116 #endif 117 117 118 + /* drivers/base/dma-mapping.c */ 119 + extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, 120 + void *cpu_addr, dma_addr_t dma_addr, size_t size); 121 + extern int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt, 122 + void *cpu_addr, dma_addr_t dma_addr, 123 + size_t size); 124 + 125 + #define dma_mmap_coherent(d, v, c, h, s) dma_common_mmap(d, v, c, h, s) 126 + #define dma_get_sgtable(d, t, v, h, s) dma_common_get_sgtable(d, t, v, h, s) 127 + 118 128 #endif /* _M68K_DMA_MAPPING_H */