mirror of https://gitee.com/openkylin/linux.git
MIPS: OCTEON: cvmx-bootmem: move code to avoid forward declarations
Move code to avoid forward declarations. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/21193/ Cc: Ralf Baechle <ralf@linux-mips.org> Cc: James Hogan <jhogan@kernel.org> Cc: linux-mips@linux-mips.org
This commit is contained in:
parent
3e431666a7
commit
bf2d401c8b
|
@ -155,42 +155,6 @@ void *cvmx_bootmem_alloc_address(uint64_t size, uint64_t address,
|
||||||
address + size);
|
address + size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cvmx_bootmem_alloc_named_range_once(uint64_t size, uint64_t min_addr,
|
|
||||||
uint64_t max_addr, uint64_t align,
|
|
||||||
char *name,
|
|
||||||
void (*init) (void *))
|
|
||||||
{
|
|
||||||
int64_t addr;
|
|
||||||
void *ptr;
|
|
||||||
uint64_t named_block_desc_addr;
|
|
||||||
|
|
||||||
named_block_desc_addr = (uint64_t)
|
|
||||||
cvmx_bootmem_phy_named_block_find(name,
|
|
||||||
(uint32_t)CVMX_BOOTMEM_FLAG_NO_LOCKING);
|
|
||||||
|
|
||||||
if (named_block_desc_addr) {
|
|
||||||
addr = CVMX_BOOTMEM_NAMED_GET_FIELD(named_block_desc_addr,
|
|
||||||
base_addr);
|
|
||||||
return cvmx_phys_to_ptr(addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
addr = cvmx_bootmem_phy_named_block_alloc(size, min_addr, max_addr,
|
|
||||||
align, name,
|
|
||||||
(uint32_t)CVMX_BOOTMEM_FLAG_NO_LOCKING);
|
|
||||||
|
|
||||||
if (addr < 0)
|
|
||||||
return NULL;
|
|
||||||
ptr = cvmx_phys_to_ptr(addr);
|
|
||||||
|
|
||||||
if (init)
|
|
||||||
init(ptr);
|
|
||||||
else
|
|
||||||
memset(ptr, 0, size);
|
|
||||||
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(cvmx_bootmem_alloc_named_range_once);
|
|
||||||
|
|
||||||
void *cvmx_bootmem_alloc_named_range(uint64_t size, uint64_t min_addr,
|
void *cvmx_bootmem_alloc_named_range(uint64_t size, uint64_t min_addr,
|
||||||
uint64_t max_addr, uint64_t align,
|
uint64_t max_addr, uint64_t align,
|
||||||
char *name)
|
char *name)
|
||||||
|
@ -211,17 +175,6 @@ void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, char *name)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(cvmx_bootmem_alloc_named);
|
EXPORT_SYMBOL(cvmx_bootmem_alloc_named);
|
||||||
|
|
||||||
int cvmx_bootmem_free_named(char *name)
|
|
||||||
{
|
|
||||||
return cvmx_bootmem_phy_named_block_free(name, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct cvmx_bootmem_named_block_desc *cvmx_bootmem_find_named_block(char *name)
|
|
||||||
{
|
|
||||||
return cvmx_bootmem_phy_named_block_find(name, 0);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(cvmx_bootmem_find_named_block);
|
|
||||||
|
|
||||||
void cvmx_bootmem_lock(void)
|
void cvmx_bootmem_lock(void)
|
||||||
{
|
{
|
||||||
cvmx_spinlock_lock((cvmx_spinlock_t *) &(cvmx_bootmem_desc->lock));
|
cvmx_spinlock_lock((cvmx_spinlock_t *) &(cvmx_bootmem_desc->lock));
|
||||||
|
@ -656,6 +609,48 @@ struct cvmx_bootmem_named_block_desc *
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *cvmx_bootmem_alloc_named_range_once(uint64_t size, uint64_t min_addr,
|
||||||
|
uint64_t max_addr, uint64_t align,
|
||||||
|
char *name,
|
||||||
|
void (*init) (void *))
|
||||||
|
{
|
||||||
|
int64_t addr;
|
||||||
|
void *ptr;
|
||||||
|
uint64_t named_block_desc_addr;
|
||||||
|
|
||||||
|
named_block_desc_addr = (uint64_t)
|
||||||
|
cvmx_bootmem_phy_named_block_find(name,
|
||||||
|
(uint32_t)CVMX_BOOTMEM_FLAG_NO_LOCKING);
|
||||||
|
|
||||||
|
if (named_block_desc_addr) {
|
||||||
|
addr = CVMX_BOOTMEM_NAMED_GET_FIELD(named_block_desc_addr,
|
||||||
|
base_addr);
|
||||||
|
return cvmx_phys_to_ptr(addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
addr = cvmx_bootmem_phy_named_block_alloc(size, min_addr, max_addr,
|
||||||
|
align, name,
|
||||||
|
(uint32_t)CVMX_BOOTMEM_FLAG_NO_LOCKING);
|
||||||
|
|
||||||
|
if (addr < 0)
|
||||||
|
return NULL;
|
||||||
|
ptr = cvmx_phys_to_ptr(addr);
|
||||||
|
|
||||||
|
if (init)
|
||||||
|
init(ptr);
|
||||||
|
else
|
||||||
|
memset(ptr, 0, size);
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(cvmx_bootmem_alloc_named_range_once);
|
||||||
|
|
||||||
|
struct cvmx_bootmem_named_block_desc *cvmx_bootmem_find_named_block(char *name)
|
||||||
|
{
|
||||||
|
return cvmx_bootmem_phy_named_block_find(name, 0);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(cvmx_bootmem_find_named_block);
|
||||||
|
|
||||||
int cvmx_bootmem_phy_named_block_free(char *name, uint32_t flags)
|
int cvmx_bootmem_phy_named_block_free(char *name, uint32_t flags)
|
||||||
{
|
{
|
||||||
struct cvmx_bootmem_named_block_desc *named_block_ptr;
|
struct cvmx_bootmem_named_block_desc *named_block_ptr;
|
||||||
|
@ -700,6 +695,11 @@ int cvmx_bootmem_phy_named_block_free(char *name, uint32_t flags)
|
||||||
return named_block_ptr != NULL; /* 0 on failure, 1 on success */
|
return named_block_ptr != NULL; /* 0 on failure, 1 on success */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cvmx_bootmem_free_named(char *name)
|
||||||
|
{
|
||||||
|
return cvmx_bootmem_phy_named_block_free(name, 0);
|
||||||
|
}
|
||||||
|
|
||||||
int64_t cvmx_bootmem_phy_named_block_alloc(uint64_t size, uint64_t min_addr,
|
int64_t cvmx_bootmem_phy_named_block_alloc(uint64_t size, uint64_t min_addr,
|
||||||
uint64_t max_addr,
|
uint64_t max_addr,
|
||||||
uint64_t alignment,
|
uint64_t alignment,
|
||||||
|
|
Loading…
Reference in New Issue