Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-2.0 2 : : /* 3 : : * Dummy DMA ops that always fail. 4 : : */ 5 : : #include <linux/dma-mapping.h> 6 : : 7 : 0 : static int dma_dummy_mmap(struct device *dev, struct vm_area_struct *vma, 8 : : void *cpu_addr, dma_addr_t dma_addr, size_t size, 9 : : unsigned long attrs) 10 : : { 11 : 0 : return -ENXIO; 12 : : } 13 : : 14 : 0 : static dma_addr_t dma_dummy_map_page(struct device *dev, struct page *page, 15 : : unsigned long offset, size_t size, enum dma_data_direction dir, 16 : : unsigned long attrs) 17 : : { 18 : 0 : return DMA_MAPPING_ERROR; 19 : : } 20 : : 21 : 0 : static int dma_dummy_map_sg(struct device *dev, struct scatterlist *sgl, 22 : : int nelems, enum dma_data_direction dir, 23 : : unsigned long attrs) 24 : : { 25 : 0 : return 0; 26 : : } 27 : : 28 : 0 : static int dma_dummy_supported(struct device *hwdev, u64 mask) 29 : : { 30 : 0 : return 0; 31 : : } 32 : : 33 : : const struct dma_map_ops dma_dummy_ops = { 34 : : .mmap = dma_dummy_mmap, 35 : : .map_page = dma_dummy_map_page, 36 : : .map_sg = dma_dummy_map_sg, 37 : : .dma_supported = dma_dummy_supported, 38 : : }; 39 : : EXPORT_SYMBOL(dma_dummy_ops);