Messages in this thread | | | From | Geert Uytterhoeven <> | Subject | [PATCH v2 0/9] Provide dma_mmap_coherent() and dma_get_sgtable() | Date | Sun, 27 Jan 2013 11:33:19 +0100 |
| |
dma_common_mmap() and dma_common_get_sgtable() are defined in drivers/base/dma-mapping.c, and always compiled if CONFIG_HAS_DMA=y.
However, their forward declarations and the inline functions defined on top of them (dma_mmap_attrs(), dma_mmap_coherent(), dma_mmap_writecombine(), dma_get_sgtable_attrs()), dma_get_sgtable()) are in <asm-generic/dma-mapping-common.h>, which is not included by all architectures supporting CONFIG_HAS_DMA=y. There exist no alternative implementations.
Hence for e.g. m68k allmodconfig, I get:
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’
This series adds dma_mmap_coherent() and dma_get_sgtable() for all architectures that set CONFIG_HAS_DMA=y, but don't use dma_map_ops.
- On architectures for which I received an ack (avr32, blackfin, cris, and m68k), the patches are unchanged compared to v1: dma_mmap_coherent() and dma_get_sgtable() are implement as inline stubs using dma_common_mmap() and dma_common_get_sgtable().
- On architectures where the current API cannot be implemented (parisc), dma_mmap_coherent() and dma_get_sgtable() are dummy implementations that just return -EINVAL, until the API has been finalized.
- On architectures for which I did not receive an ack (c6x, frv, mn10300, and xtensa), dma_mmap_coherent() and dma_get_sgtable() are dummy implementations that just return -EINVAL, too.
I'll add this to the m68k for-next branch, so hopefully we can get an unbroken build in 3.8.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |