cma_get_name() just returns cma->name without any additional transformation
unlike other helpers such as cma_get_base() and cma_get_size(). This helper
is not worth the additional indirection, and can be dropped after replacing
directly with cma->name in the sole caller __add_cma_heap().
Cc: Sumit Semwal <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Anshuman Khandual <[email protected]>
---
drivers/dma-buf/heaps/cma_heap.c | 2 +-
include/linux/cma.h | 1 -
mm/cma.c | 5 -----
3 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/dma-buf/heaps/cma_heap.c b/drivers/dma-buf/heaps/cma_heap.c
index 4a63567e93ba..6ceb15060b02 100644
--- a/drivers/dma-buf/heaps/cma_heap.c
+++ b/drivers/dma-buf/heaps/cma_heap.c
@@ -376,7 +376,7 @@ static int __add_cma_heap(struct cma *cma, void *data)
return -ENOMEM;
cma_heap->cma = cma;
- exp_info.name = cma_get_name(cma);
+ exp_info.name = cma->name;
exp_info.ops = &cma_heap_ops;
exp_info.priv = cma_heap;
diff --git a/include/linux/cma.h b/include/linux/cma.h
index 9db877506ea8..12ab7cd1d529 100644
--- a/include/linux/cma.h
+++ b/include/linux/cma.h
@@ -25,7 +25,6 @@ struct cma;
extern unsigned long totalcma_pages;
extern phys_addr_t cma_get_base(const struct cma *cma);
extern unsigned long cma_get_size(const struct cma *cma);
-extern const char *cma_get_name(const struct cma *cma);
extern int __init cma_declare_contiguous_nid(phys_addr_t base,
phys_addr_t size, phys_addr_t limit,
diff --git a/mm/cma.c b/mm/cma.c
index ed6581ef50c1..2627f4ba481f 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -45,11 +45,6 @@ unsigned long cma_get_size(const struct cma *cma)
return cma->count << PAGE_SHIFT;
}
-const char *cma_get_name(const struct cma *cma)
-{
- return cma->name;
-}
-
static unsigned long cma_bitmap_aligned_mask(const struct cma *cma,
unsigned int align_order)
{
--
2.25.1
On Tue, 6 Feb 2024 09:45:18 +0530 Anshuman Khandual <[email protected]> wrote:
> cma_get_name() just returns cma->name without any additional transformation
> unlike other helpers such as cma_get_base() and cma_get_size(). This helper
> is not worth the additional indirection, and can be dropped after replacing
> directly with cma->name in the sole caller __add_cma_heap().
drivers/dma-buf/heaps/cma_heap.c: In function '__add_cma_heap':
drivers/dma-buf/heaps/cma_heap.c:379:28: error: invalid use of undefined type 'struct cma'
379 | exp_info.name = cma->name;
| ^~
Fixing this would require moving the `struct cma' definition into
cma.h. I don't think that's worthwhile.
On 2/7/24 03:55, Andrew Morton wrote:
> On Tue, 6 Feb 2024 09:45:18 +0530 Anshuman Khandual <[email protected]> wrote:
>
>> cma_get_name() just returns cma->name without any additional transformation
>> unlike other helpers such as cma_get_base() and cma_get_size(). This helper
>> is not worth the additional indirection, and can be dropped after replacing
>> directly with cma->name in the sole caller __add_cma_heap().
>
> drivers/dma-buf/heaps/cma_heap.c: In function '__add_cma_heap':
> drivers/dma-buf/heaps/cma_heap.c:379:28: error: invalid use of undefined type 'struct cma'
> 379 | exp_info.name = cma->name;
> | ^~
>
> Fixing this would require moving the `struct cma' definition into
> cma.h. I don't think that's worthwhile.
Existing forward declaration e.g 'struct cma' inside include/linux/cma.h does
not seem to sufficient for cma->name to be de-referenced. Agreed - moving the
definition for 'struct cma' into include/linux/cma.h is not worthwhile. Hence
please drop this patch.