forked from Minki/linux
of: fdt: Remove early_init_dt_reserve_memory_arch() override capability
Commit e7ae8d174e
("MIPS: replace add_memory_region with
memblock") removed the last architecture-specific override of
early_init_dt_reserve_memory_arch().
Convert the common implementation from a weak global function to a
static function.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/be0140a0183ecfd0a3afa4fe6d2d77ed418102f9.1628671897.git.geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
6b2117ad65
commit
18250b43f7
@ -475,6 +475,22 @@ void *initial_boot_params __ro_after_init;
|
||||
|
||||
static u32 of_fdt_crc32;
|
||||
|
||||
static int __init early_init_dt_reserve_memory_arch(phys_addr_t base,
|
||||
phys_addr_t size, bool nomap)
|
||||
{
|
||||
if (nomap) {
|
||||
/*
|
||||
* If the memory is already reserved (by another region), we
|
||||
* should not allow it to be marked nomap.
|
||||
*/
|
||||
if (memblock_is_region_reserved(base, size))
|
||||
return -EBUSY;
|
||||
|
||||
return memblock_mark_nomap(base, size);
|
||||
}
|
||||
return memblock_reserve(base, size);
|
||||
}
|
||||
|
||||
/*
|
||||
* __reserved_mem_reserve_reg() - reserve all memory described in 'reg' property
|
||||
*/
|
||||
@ -1147,22 +1163,6 @@ int __init __weak early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size)
|
||||
return memblock_mark_hotplug(base, size);
|
||||
}
|
||||
|
||||
int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
|
||||
phys_addr_t size, bool nomap)
|
||||
{
|
||||
if (nomap) {
|
||||
/*
|
||||
* If the memory is already reserved (by another region), we
|
||||
* should not allow it to be marked nomap.
|
||||
*/
|
||||
if (memblock_is_region_reserved(base, size))
|
||||
return -EBUSY;
|
||||
|
||||
return memblock_mark_nomap(base, size);
|
||||
}
|
||||
return memblock_reserve(base, size);
|
||||
}
|
||||
|
||||
static void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
|
||||
{
|
||||
void *ptr = memblock_alloc(size, align);
|
||||
|
@ -68,8 +68,6 @@ extern void early_init_fdt_reserve_self(void);
|
||||
extern void __init early_init_dt_scan_chosen_arch(unsigned long node);
|
||||
extern void early_init_dt_add_memory_arch(u64 base, u64 size);
|
||||
extern int early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size);
|
||||
extern int early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size,
|
||||
bool no_map);
|
||||
extern u64 dt_mem_next_cell(int s, const __be32 **cellp);
|
||||
|
||||
/* Early flat tree scan hooks */
|
||||
|
Loading…
Reference in New Issue
Block a user