dma-mapping: use unsigned long for dma_attrs
[linux-2.6-block.git] / arch / metag / kernel / dma.c
index e12368d02155ac5ede14d9ce982134de486a4551..0db31e24c541881aefc18e08b01764bd6c91a146 100644 (file)
@@ -172,7 +172,7 @@ out:
  * virtual and bus address for that space.
  */
 static void *metag_dma_alloc(struct device *dev, size_t size,
-               dma_addr_t *handle, gfp_t gfp, struct dma_attrs *attrs)
+               dma_addr_t *handle, gfp_t gfp, unsigned long attrs)
 {
        struct page *page;
        struct metag_vm_region *c;
@@ -268,7 +268,7 @@ no_page:
  * free a page as defined by the above mapping.
  */
 static void metag_dma_free(struct device *dev, size_t size, void *vaddr,
-               dma_addr_t dma_handle, struct dma_attrs *attrs)
+               dma_addr_t dma_handle, unsigned long attrs)
 {
        struct metag_vm_region *c;
        unsigned long flags, addr;
@@ -331,13 +331,13 @@ no_area:
 
 static int metag_dma_mmap(struct device *dev, struct vm_area_struct *vma,
                void *cpu_addr, dma_addr_t dma_addr, size_t size,
-               struct dma_attrs *attrs)
+               unsigned long attrs)
 {
        unsigned long flags, user_size, kern_size;
        struct metag_vm_region *c;
        int ret = -ENXIO;
 
-       if (dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs))
+       if (attrs & DMA_ATTR_WRITE_COMBINE)
                vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
        else
                vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
@@ -482,7 +482,7 @@ static void dma_sync_for_cpu(void *vaddr, size_t size, int dma_direction)
 
 static dma_addr_t metag_dma_map_page(struct device *dev, struct page *page,
                unsigned long offset, size_t size,
-               enum dma_data_direction direction, struct dma_attrs *attrs)
+               enum dma_data_direction direction, unsigned long attrs)
 {
        dma_sync_for_device((void *)(page_to_phys(page) + offset), size,
                            direction);
@@ -491,14 +491,14 @@ static dma_addr_t metag_dma_map_page(struct device *dev, struct page *page,
 
 static void metag_dma_unmap_page(struct device *dev, dma_addr_t dma_address,
                size_t size, enum dma_data_direction direction,
-               struct dma_attrs *attrs)
+               unsigned long attrs)
 {
        dma_sync_for_cpu(phys_to_virt(dma_address), size, direction);
 }
 
 static int metag_dma_map_sg(struct device *dev, struct scatterlist *sglist,
                int nents, enum dma_data_direction direction,
-               struct dma_attrs *attrs)
+               unsigned long attrs)
 {
        struct scatterlist *sg;
        int i;
@@ -516,7 +516,7 @@ static int metag_dma_map_sg(struct device *dev, struct scatterlist *sglist,
 
 static void metag_dma_unmap_sg(struct device *dev, struct scatterlist *sglist,
                int nhwentries, enum dma_data_direction direction,
-               struct dma_attrs *attrs)
+               unsigned long attrs)
 {
        struct scatterlist *sg;
        int i;