diff options
-rw-r--r-- | drivers/of/fdt.c | 32 | ||||
-rw-r--r-- | include/linux/of_fdt.h | 2 |
2 files changed, 16 insertions, 18 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 5dc0b0310d7c..e25b41591ab2 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -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); diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h index acf820e88952..3b1500a0116f 100644 --- a/include/linux/of_fdt.h +++ b/include/linux/of_fdt.h @@ -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 */ |