On Fri, Sep 02, 2011 at 03:53:18PM +0200, Marek Szyprowski wrote: > struct dma_map_ops { > - void* (*alloc_coherent)(struct device *dev, size_t size, > - dma_addr_t *dma_handle, gfp_t gfp); > - void (*free_coherent)(struct device *dev, size_t size, > - void *vaddr, dma_addr_t dma_handle); > + void* (*alloc)(struct device *dev, size_t size, > + dma_addr_t *dma_handle, gfp_t gfp, > + struct dma_attrs *attrs); > + void (*free)(struct device *dev, size_t size, > + void *vaddr, dma_addr_t dma_handle, > + struct dma_attrs *attrs); > + int (*mmap)(struct device *, struct vm_area_struct *, > + void *, dma_addr_t, size_t, struct dma_attrs *attrs); > + > dma_addr_t (*map_page)(struct device *dev, struct page *page, > unsigned long offset, size_t size, > enum dma_data_direction dir, > -- > 1.7.1.569.g6f426 This needs conversion of all drivers implementing dma_map_ops or you will break a lot of architectures. A better approach is to keep *_coherent and implement alloc/free/mmap side-by-side until all drivers are converted. Also I miss some documentation about the new call-backs. Joerg -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html