diff options
| author | Nishka Dasgupta <nishkadg.linux@gmail.com> | 2019-07-03 11:18:41 +0300 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-03 19:25:07 +0300 | 
| commit | eadbf7a34e44e8fb2e63142b992bf264ffb72bf9 (patch) | |
| tree | 819609d3c5edc471d450afee5e5d23883acb70ed | |
| parent | af89bcef55ff6d488d5f64d0068042b1a1092d33 (diff) | |
| download | linux-eadbf7a34e44e8fb2e63142b992bf264ffb72bf9.tar.xz | |
staging: android: ion: Remove file ion_carveout_heap.c
Remove file ion_carveout_heap.c as its functions and definitions are not
used anywhere.
Issue found with Coccinelle.
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Acked-by: Laura Abbott <labbott@redhat.com>
Link: https://lore.kernel.org/r/20190703081842.22872-1-nishkadg.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/staging/android/ion/Kconfig | 9 | ||||
| -rw-r--r-- | drivers/staging/android/ion/Makefile | 1 | ||||
| -rw-r--r-- | drivers/staging/android/ion/ion_carveout_heap.c | 133 | 
3 files changed, 0 insertions, 143 deletions
| diff --git a/drivers/staging/android/ion/Kconfig b/drivers/staging/android/ion/Kconfig index 178df581a8fc..dff641451a89 100644 --- a/drivers/staging/android/ion/Kconfig +++ b/drivers/staging/android/ion/Kconfig @@ -18,15 +18,6 @@ config ION_SYSTEM_HEAP  	  Choose this option to enable the Ion system heap. The system heap  	  is backed by pages from the buddy allocator. If in doubt, say Y. -config ION_CARVEOUT_HEAP -	bool "Ion carveout heap support" -	depends on ION -	help -	  Choose this option to enable carveout heaps with Ion. Carveout heaps -	  are backed by memory reserved from the system. Allocation times are -	  typically faster at the cost of memory not being used. Unless you -	  know your system has these regions, you should say N here. -  config ION_CHUNK_HEAP  	bool "Ion chunk heap support"  	depends on ION diff --git a/drivers/staging/android/ion/Makefile b/drivers/staging/android/ion/Makefile index 17f3a7569e3d..0ac5465e2841 100644 --- a/drivers/staging/android/ion/Makefile +++ b/drivers/staging/android/ion/Makefile @@ -1,6 +1,5 @@  # SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_ION) += ion.o ion_heap.o  obj-$(CONFIG_ION_SYSTEM_HEAP) += ion_system_heap.o ion_page_pool.o -obj-$(CONFIG_ION_CARVEOUT_HEAP) += ion_carveout_heap.o  obj-$(CONFIG_ION_CHUNK_HEAP) += ion_chunk_heap.o  obj-$(CONFIG_ION_CMA_HEAP) += ion_cma_heap.o diff --git a/drivers/staging/android/ion/ion_carveout_heap.c b/drivers/staging/android/ion/ion_carveout_heap.c deleted file mode 100644 index bb9d614767a2..000000000000 --- a/drivers/staging/android/ion/ion_carveout_heap.c +++ /dev/null @@ -1,133 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * ION Memory Allocator carveout heap helper - * - * Copyright (C) 2011 Google, Inc. - */ - -#include <linux/dma-mapping.h> -#include <linux/err.h> -#include <linux/genalloc.h> -#include <linux/io.h> -#include <linux/mm.h> -#include <linux/scatterlist.h> -#include <linux/slab.h> - -#include "ion.h" - -#define ION_CARVEOUT_ALLOCATE_FAIL	-1 - -struct ion_carveout_heap { -	struct ion_heap heap; -	struct gen_pool *pool; -}; - -static phys_addr_t ion_carveout_allocate(struct ion_heap *heap, -					 unsigned long size) -{ -	struct ion_carveout_heap *carveout_heap = -		container_of(heap, struct ion_carveout_heap, heap); -	unsigned long offset = gen_pool_alloc(carveout_heap->pool, size); - -	if (!offset) -		return ION_CARVEOUT_ALLOCATE_FAIL; - -	return offset; -} - -static void ion_carveout_free(struct ion_heap *heap, phys_addr_t addr, -			      unsigned long size) -{ -	struct ion_carveout_heap *carveout_heap = -		container_of(heap, struct ion_carveout_heap, heap); - -	if (addr == ION_CARVEOUT_ALLOCATE_FAIL) -		return; - -	gen_pool_free(carveout_heap->pool, addr, size); -} - -static int ion_carveout_heap_allocate(struct ion_heap *heap, -				      struct ion_buffer *buffer, -				      unsigned long size, -				      unsigned long flags) -{ -	struct sg_table *table; -	phys_addr_t paddr; -	int ret; - -	table = kmalloc(sizeof(*table), GFP_KERNEL); -	if (!table) -		return -ENOMEM; -	ret = sg_alloc_table(table, 1, GFP_KERNEL); -	if (ret) -		goto err_free; - -	paddr = ion_carveout_allocate(heap, size); -	if (paddr == ION_CARVEOUT_ALLOCATE_FAIL) { -		ret = -ENOMEM; -		goto err_free_table; -	} - -	sg_set_page(table->sgl, pfn_to_page(PFN_DOWN(paddr)), size, 0); -	buffer->sg_table = table; - -	return 0; - -err_free_table: -	sg_free_table(table); -err_free: -	kfree(table); -	return ret; -} - -static void ion_carveout_heap_free(struct ion_buffer *buffer) -{ -	struct ion_heap *heap = buffer->heap; -	struct sg_table *table = buffer->sg_table; -	struct page *page = sg_page(table->sgl); -	phys_addr_t paddr = PFN_PHYS(page_to_pfn(page)); - -	ion_heap_buffer_zero(buffer); - -	ion_carveout_free(heap, paddr, buffer->size); -	sg_free_table(table); -	kfree(table); -} - -static struct ion_heap_ops carveout_heap_ops = { -	.allocate = ion_carveout_heap_allocate, -	.free = ion_carveout_heap_free, -	.map_user = ion_heap_map_user, -	.map_kernel = ion_heap_map_kernel, -	.unmap_kernel = ion_heap_unmap_kernel, -}; - -struct ion_heap *ion_carveout_heap_create(phys_addr_t base, size_t size) -{ -	struct ion_carveout_heap *carveout_heap; -	int ret; - -	struct page *page; - -	page = pfn_to_page(PFN_DOWN(base)); -	ret = ion_heap_pages_zero(page, size, pgprot_writecombine(PAGE_KERNEL)); -	if (ret) -		return ERR_PTR(ret); - -	carveout_heap = kzalloc(sizeof(*carveout_heap), GFP_KERNEL); -	if (!carveout_heap) -		return ERR_PTR(-ENOMEM); - -	carveout_heap->pool = gen_pool_create(PAGE_SHIFT, -1); -	if (!carveout_heap->pool) { -		kfree(carveout_heap); -		return ERR_PTR(-ENOMEM); -	} -	gen_pool_add(carveout_heap->pool, base, size, -1); -	carveout_heap->heap.ops = &carveout_heap_ops; -	carveout_heap->heap.type = ION_HEAP_TYPE_CARVEOUT; -	carveout_heap->heap.flags = ION_HEAP_FLAG_DEFER_FREE; - -	return &carveout_heap->heap; -} | 
