From: "Gary Zambrano" Added dma_sync_single_range_for_cpu/device to dma-mapping.h in asm-arm to call dma_sync_single_for_cpu/device. This patch enables b44 to compile on systems with these cpus. This patch was created with the assumption that another method of dma_sync_single_range_for_cpu/device does not exist on these architectures. Signed-off by: Gary Zambrano Cc: Russell King Signed-off-by: Andrew Morton --- include/asm-arm/dma-mapping.h | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletion(-) diff -puN include/asm-arm/dma-mapping.h~arm-dma-mappingh include/asm-arm/dma-mapping.h --- a/include/asm-arm/dma-mapping.h~arm-dma-mappingh +++ a/include/asm-arm/dma-mapping.h @@ -310,6 +310,24 @@ dma_unmap_sg(struct device *dev, struct extern void dma_unmap_sg(struct device *, struct scatterlist *, int, enum dma_data_direction); #endif +#ifndef CONFIG_DMABOUNCE +static inline void +dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle, + unsigned long offset, size_t size, + enum dma_data_direction direction) +{ + /* just sync everything, that's all the pci API can do */ + dma_sync_single_for_cpu(dev, dma_handle, offset+size, direction); +} + +static inline void +dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle, + unsigned long offset, size_t size, + enum dma_data_direction direction) +{ + /* just sync everything, that's all the pci API can do */ + dma_sync_single_for_device(dev, dma_handle, offset+size, direction); +} /** * dma_sync_single_for_cpu @@ -328,7 +346,6 @@ extern void dma_unmap_sg(struct device * * must first the perform a dma_sync_for_device, and then the * device again owns the buffer. */ -#ifndef CONFIG_DMABOUNCE static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t handle, size_t size, enum dma_data_direction dir) @@ -345,6 +362,8 @@ dma_sync_single_for_device(struct device consistent_sync((void *)dma_to_virt(dev, handle), size, dir); } #else +extern void dma_sync_single_range_for_cpu(struct device*, dma_addr_t, unsigned long, size_t, enum dma_data_direction); +extern void dma_sync_single_range_for_device(struct device*, dma_addr_t, unsigned long, size_t, enum dma_data_direction); extern void dma_sync_single_for_cpu(struct device*, dma_addr_t, size_t, enum dma_data_direction); extern void dma_sync_single_for_device(struct device*, dma_addr_t, size_t, enum dma_data_direction); #endif _