From cdc9f6ef946f3c17b048b3ee9e36aa0bbc12d712 Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Mon, 16 Mar 2020 16:39:31 -0700 Subject: [PATCH] ANDROID: Export functions to be used with dma_map_ops in modules For modules to reuse default dma_map_ops implementations they need to be exported. Export the following functions: dma_direct_alloc dma_direct_free dma_common_mmap dma_common_get_sgtable dma_direct_get_required_mask Bug: 151050914 Signed-off-by: Suren Baghdasaryan Change-Id: Ia77b797fcd909fce01da7431bfbde282dc70b3b3 (cherry picked from commit fd31496dae939c7bf2ef874e08d4bf8c6ab738b3) --- kernel/dma/direct.c | 3 +++ kernel/dma/mapping.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index ac7956c38f69..c5eeacb36c7d 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -43,6 +43,7 @@ u64 dma_direct_get_required_mask(struct device *dev) return (1ULL << (fls64(max_dma) - 1)) * 2 - 1; } +EXPORT_SYMBOL_GPL(dma_direct_get_required_mask); static gfp_t __dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, u64 *phys_limit) @@ -231,6 +232,7 @@ void *dma_direct_alloc(struct device *dev, size_t size, return arch_dma_alloc(dev, size, dma_handle, gfp, attrs); return dma_direct_alloc_pages(dev, size, dma_handle, gfp, attrs); } +EXPORT_SYMBOL_GPL(dma_direct_alloc); void dma_direct_free(struct device *dev, size_t size, void *cpu_addr, dma_addr_t dma_addr, unsigned long attrs) @@ -242,6 +244,7 @@ void dma_direct_free(struct device *dev, size_t size, else dma_direct_free_pages(dev, size, cpu_addr, dma_addr, attrs); } +EXPORT_SYMBOL_GPL(dma_direct_free); #if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \ defined(CONFIG_SWIOTLB) diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c index 12ff766ec1fa..dd725aadb15e 100644 --- a/kernel/dma/mapping.c +++ b/kernel/dma/mapping.c @@ -120,6 +120,7 @@ int dma_common_get_sgtable(struct device *dev, struct sg_table *sgt, sg_set_page(sgt->sgl, page, PAGE_ALIGN(size), 0); return ret; } +EXPORT_SYMBOL_GPL(dma_common_get_sgtable); /* * The whole dma_get_sgtable() idea is fundamentally unsafe - it seems @@ -194,6 +195,7 @@ int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, return -ENXIO; #endif /* CONFIG_MMU */ } +EXPORT_SYMBOL_GPL(dma_common_mmap); /** * dma_can_mmap - check if a given device supports dma_mmap_*