[PATCH] of: fdt: Remove early_init_dt_reserve_memory_arch() override capability

From: Geert Uytterhoeven
Date: Wed Aug 11 2021 - 04:52:36 EST


Commit e7ae8d174eec0b3b ("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@xxxxxxxxx>
---
Should the "_arch" suffix be removed?
Similar commit 0fa1c579349fdd90 ("of/fdt: use memblock_virt_alloc for
early alloc") did not.
---
drivers/of/fdt.c | 32 ++++++++++++++++----------------
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 0142b9334559baec..ee8f9937227b5e45 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -476,6 +476,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
*/
@@ -1224,22 +1240,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 acf820e88952977c..3b1500a0116f91fd 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 */
--
2.25.1