Hello, On Monday, September 05, 2011 12:44 PM Joerg Roedel wrote: > 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. Right this patch will break all other architectures, however it was just a snapshot of my work-in-progress. Converting all other architectures from alloc_coherent to alloc with NULL attribute shouldn't be really hard and will be added in the final version - together with documentation. Best regards -- Marek Szyprowski Samsung Poland R&D Center -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>