Re: [PATCH 6/7] common: dma-mapping: change alloc/free_coherent method to more generic alloc/free_attrs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]