iommu/dma: Remove __iommu_dma_free
authorChristoph Hellwig <hch@lst.de>
Mon, 20 May 2019 07:29:35 +0000 (09:29 +0200)
committerJoerg Roedel <jroedel@suse.de>
Mon, 27 May 2019 15:31:11 +0000 (17:31 +0200)
We only have a single caller of this function left, so open code it there.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/dma-iommu.c

index 0ffb7805de77a813b1c1830788c8b617f30d99e7..5e0c8450fa0b1f30863553e2cf5a152cb1d541bb 100644 (file)
@@ -563,24 +563,6 @@ static struct page **__iommu_dma_get_pages(void *cpu_addr)
        return area->pages;
 }
 
-/**
- * iommu_dma_free - Free a buffer allocated by iommu_dma_alloc_remap()
- * @dev: Device which owns this buffer
- * @pages: Array of buffer pages as returned by __iommu_dma_alloc_remap()
- * @size: Size of buffer in bytes
- * @handle: DMA address of buffer
- *
- * Frees both the pages associated with the buffer, and the array
- * describing them
- */
-static void __iommu_dma_free(struct device *dev, struct page **pages,
-               size_t size, dma_addr_t *handle)
-{
-       __iommu_dma_unmap(dev, *handle, size);
-       __iommu_dma_free_pages(pages, PAGE_ALIGN(size) >> PAGE_SHIFT);
-       *handle = DMA_MAPPING_ERROR;
-}
-
 /**
  * iommu_dma_alloc_remap - Allocate and map a buffer contiguous in IOVA space
  * @dev: Device to allocate memory for. Must be a real device
@@ -1053,7 +1035,8 @@ static void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr,
 
                if (!pages)
                        return;
-               __iommu_dma_free(dev, pages, iosize, &handle);
+               __iommu_dma_unmap(dev, handle, iosize);
+               __iommu_dma_free_pages(pages, size >> PAGE_SHIFT);
                dma_common_free_remap(cpu_addr, size, VM_USERMAP);
        } else {
                __iommu_dma_unmap(dev, handle, iosize);