Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma-mapping: remove unused map_page callback

After conversion of arch code to use physical address mapping,
there are no users of .map_page() and .unmap_page() callbacks,
so let's remove them.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20251015-remove-map-page-v5-14-3bbfe3a25cdf@kernel.org

authored by

Leon Romanovsky and committed by
Marek Szyprowski
131971f6 936a9f0c

+1 -26
-7
include/linux/dma-map-ops.h
··· 31 31 void *cpu_addr, dma_addr_t dma_addr, size_t size, 32 32 unsigned long attrs); 33 33 34 - dma_addr_t (*map_page)(struct device *dev, struct page *page, 35 - unsigned long offset, size_t size, 36 - enum dma_data_direction dir, unsigned long attrs); 37 - void (*unmap_page)(struct device *dev, dma_addr_t dma_handle, 38 - size_t size, enum dma_data_direction dir, 39 - unsigned long attrs); 40 - 41 34 dma_addr_t (*map_phys)(struct device *dev, phys_addr_t phys, 42 35 size_t size, enum dma_data_direction dir, 43 36 unsigned long attrs);
-12
kernel/dma/mapping.c
··· 171 171 addr = iommu_dma_map_phys(dev, phys, size, dir, attrs); 172 172 else if (ops->map_phys) 173 173 addr = ops->map_phys(dev, phys, size, dir, attrs); 174 - else if (!is_mmio && ops->map_page) { 175 - struct page *page = phys_to_page(phys); 176 - size_t offset = offset_in_page(phys); 177 - 178 - /* 179 - * The dma_ops API contract for ops->map_page() requires 180 - * kmappable memory. 181 - */ 182 - addr = ops->map_page(dev, page, offset, size, dir, attrs); 183 - } 184 174 185 175 if (!is_mmio) 186 176 kmsan_handle_dma(phys, size, dir); ··· 212 222 iommu_dma_unmap_phys(dev, addr, size, dir, attrs); 213 223 else if (ops->unmap_phys) 214 224 ops->unmap_phys(dev, addr, size, dir, attrs); 215 - else 216 - ops->unmap_page(dev, addr, size, dir, attrs); 217 225 trace_dma_unmap_phys(dev, addr, size, dir, attrs); 218 226 debug_dma_unmap_phys(dev, addr, size, dir); 219 227 }
+1 -7
kernel/dma/ops_helpers.c
··· 76 76 if (use_dma_iommu(dev)) 77 77 *dma_handle = iommu_dma_map_phys(dev, phys, size, dir, 78 78 DMA_ATTR_SKIP_CPU_SYNC); 79 - else if (ops->map_phys) 80 - *dma_handle = ops->map_phys(dev, phys, size, dir, 81 - DMA_ATTR_SKIP_CPU_SYNC); 82 79 else 83 - *dma_handle = ops->map_page(dev, page, 0, size, dir, 80 + *dma_handle = ops->map_phys(dev, phys, size, dir, 84 81 DMA_ATTR_SKIP_CPU_SYNC); 85 82 if (*dma_handle == DMA_MAPPING_ERROR) { 86 83 dma_free_contiguous(dev, page, size); ··· 98 101 DMA_ATTR_SKIP_CPU_SYNC); 99 102 else if (ops->unmap_phys) 100 103 ops->unmap_phys(dev, dma_handle, size, dir, 101 - DMA_ATTR_SKIP_CPU_SYNC); 102 - else if (ops->unmap_page) 103 - ops->unmap_page(dev, dma_handle, size, dir, 104 104 DMA_ATTR_SKIP_CPU_SYNC); 105 105 dma_free_contiguous(dev, page, size); 106 106 }