changeset: 9745:ed8b60489f32d6605bc73aa0bed6b3da1d1f2835 tag: tip user: yamahata@xxxxxxxxxxxxx date: Wed Apr 26 11:32:03 2006 +0900 files: linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c description: xenLinux/ia64 with dom0 vp model uses linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c. This is a work around until the file is merbed back into i386' pci-dma or it is moved to drivers/xen/core. xenLinux/ia64 has its own dma_map_page(), dma_unmap_page(), and it needs linux default implementations of dma_declare_coheremnt_memory() and its families which is defined in include/linux/dma-mapping.h. So those in pci-dma-xen.c are unnecessary. #ifdef out them. PATCHNAME: pci-dma-xen-common Signed-off-by: Isaku Yamahata diff -r 1ad06bd6832d478b18b1c1aed9886079c272aeaa -r ed8b60489f32d6605bc73aa0bed6b3da1d1f2835 linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c --- a/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c Tue Apr 25 18:22:11 2006 +0100 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c Wed Apr 26 11:32:03 2006 +0900 @@ -93,6 +93,13 @@ dma_unmap_sg(struct device *hwdev, struc } EXPORT_SYMBOL(dma_unmap_sg); +/* + * XXX This file is also used by xenLinux/ia64. + * "defined(__i386__) || defined (__x86_64__)" means "!defined(__ia64__)". + * This #if work around should be removed once this file is merbed back into + * i386' pci-dma or is moved to drivers/xen/core. + */ +#if defined(__i386__) || defined(__x86_64__) dma_addr_t dma_map_page(struct device *dev, struct page *page, unsigned long offset, size_t size, enum dma_data_direction direction) @@ -122,6 +129,7 @@ dma_unmap_page(struct device *dev, dma_a swiotlb_unmap_page(dev, dma_address, size, direction); } EXPORT_SYMBOL(dma_unmap_page); +#endif /* defined(__i386__) || defined(__x86_64__) */ int dma_mapping_error(dma_addr_t dma_addr) @@ -204,6 +212,7 @@ void dma_free_coherent(struct device *de } EXPORT_SYMBOL(dma_free_coherent); +#ifdef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, dma_addr_t device_addr, size_t size, int flags) { @@ -280,6 +289,7 @@ void *dma_mark_declared_memory_occupied( return mem->virt_base + (pos << PAGE_SHIFT); } EXPORT_SYMBOL(dma_mark_declared_memory_occupied); +#endif /* ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY */ dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size,