xen-swiotlb: remove the mapping_error dma_map_ops method
authorChristoph Hellwig <hch@lst.de>
Wed, 21 Nov 2018 18:38:19 +0000 (19:38 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 6 Dec 2018 14:56:49 +0000 (06:56 -0800)
Return DMA_MAPPING_ERROR instead of 0 on a dma mapping failure and let
the core dma-mapping code handle the rest.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/xen/swiotlb-xen.c

index 2a7f545bd0b577bef9a0058385c941f5c5fc6977..6dc969d5ea2fac328c48d16976e2a434870377ea 100644 (file)
@@ -53,8 +53,6 @@
  * API.
  */
 
-#define XEN_SWIOTLB_ERROR_CODE (~(dma_addr_t)0x0)
-
 static char *xen_io_tlb_start, *xen_io_tlb_end;
 static unsigned long xen_io_tlb_nslabs;
 /*
@@ -406,7 +404,7 @@ static dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page,
        map = swiotlb_tbl_map_single(dev, start_dma_addr, phys, size, dir,
                                     attrs);
        if (map == SWIOTLB_MAP_ERROR)
-               return XEN_SWIOTLB_ERROR_CODE;
+               return DMA_MAPPING_ERROR;
 
        dev_addr = xen_phys_to_bus(map);
        xen_dma_map_page(dev, pfn_to_page(map >> PAGE_SHIFT),
@@ -421,7 +419,7 @@ static dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page,
        attrs |= DMA_ATTR_SKIP_CPU_SYNC;
        swiotlb_tbl_unmap_single(dev, map, size, dir, attrs);
 
-       return XEN_SWIOTLB_ERROR_CODE;
+       return DMA_MAPPING_ERROR;
 }
 
 /*
@@ -700,11 +698,6 @@ xen_swiotlb_get_sgtable(struct device *dev, struct sg_table *sgt,
        return dma_common_get_sgtable(dev, sgt, cpu_addr, handle, size, attrs);
 }
 
-static int xen_swiotlb_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
-       return dma_addr == XEN_SWIOTLB_ERROR_CODE;
-}
-
 const struct dma_map_ops xen_swiotlb_dma_ops = {
        .alloc = xen_swiotlb_alloc_coherent,
        .free = xen_swiotlb_free_coherent,
@@ -719,5 +712,4 @@ const struct dma_map_ops xen_swiotlb_dma_ops = {
        .dma_supported = xen_swiotlb_dma_supported,
        .mmap = xen_swiotlb_dma_mmap,
        .get_sgtable = xen_swiotlb_get_sgtable,
-       .mapping_error  = xen_swiotlb_mapping_error,
 };