lib: sysmem: add sysmem_alloc_by_name() interface
Change-Id: I9e2fd6d99fdc487396dd9619dc54567bcd2ba242 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
This commit is contained in:
parent
996752e678
commit
acffe33271
|
|
@ -59,6 +59,16 @@ int sysmem_initr(void);
|
|||
*/
|
||||
void *sysmem_alloc(enum memblk_id id, phys_size_t size);
|
||||
|
||||
/**
|
||||
* sysmem_alloc_by_name() - Alloc sysmem region by name at the expect addr
|
||||
*
|
||||
* @name: memblk name
|
||||
* @size: region size
|
||||
*
|
||||
* @return NULL on error, otherwise the allocated region address ptr
|
||||
*/
|
||||
void *sysmem_alloc_by_name(const char *name, phys_size_t size);
|
||||
|
||||
/**
|
||||
* sysmem_alloc_base() - Alloc sysmem region at the expect addr
|
||||
*
|
||||
|
|
|
|||
15
lib/sysmem.c
15
lib/sysmem.c
|
|
@ -551,6 +551,21 @@ void *sysmem_alloc(enum memblk_id id, phys_size_t size)
|
|||
return paddr;
|
||||
}
|
||||
|
||||
void *sysmem_alloc_by_name(const char *name, phys_size_t size)
|
||||
{
|
||||
void *paddr;
|
||||
|
||||
paddr = sysmem_alloc_align_base(MEMBLK_ID_BY_NAME,
|
||||
name,
|
||||
SYSMEM_ALLOC_ANYWHERE,
|
||||
size,
|
||||
SYSMEM_ALLOC_NO_ALIGN);
|
||||
if (!paddr)
|
||||
sysmem_dump();
|
||||
|
||||
return paddr;
|
||||
}
|
||||
|
||||
void *sysmem_alloc_base(enum memblk_id id, phys_addr_t base, phys_size_t size)
|
||||
{
|
||||
void *paddr;
|
||||
|
|
|
|||
Loading…
Reference in New Issue