[PATCH] mm/cma.c: find a named CMA area by name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: BuddyZhang <buddy.zhang@xxxxxxxxxx>

This function could help developer who want to find a special
named CMA area.

The CMA supports multiple named CMA areas, and the device could
use or exclusive a special CAM arae via "cma_area" on "struct
device". When probing, the device can setup special CMA area which
find by "cma_find_by_name()".

If device can't find named CMA area, "cma_find_by_name()" will
return NULL, and device will used default CMA area.

Signed-off-by: BuddyZhang <buddy.zhang@xxxxxxxxxx>
---
 mm/cma.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mm/cma.c b/mm/cma.c
index be55d1988c67..6581dabcaf34 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -40,6 +40,18 @@ struct cma cma_areas[MAX_CMA_AREAS];
 unsigned cma_area_count;
 static DEFINE_MUTEX(cma_mutex);
 
+struct cma *cma_find_by_name(const char *name)
+{
+	int idx;
+
+	for (idx = 0; idx < MAX_CMA_AREAS; idx++) {
+		if (cma_areas[idx].name && !strcmp(name, cma_areas[idx].name))
+			return &cma_areas[idx];
+	}
+	return NULL;
+}
+EXPORT_SYMBOL(cma_find_by_name);
+
 phys_addr_t cma_get_base(const struct cma *cma)
 {
 	return PFN_PHYS(cma->base_pfn);

base-commit: 5b483a1a0ea1ab19a5734051c9692c2cfabe1327
-- 
2.17.1





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux