Call octeon_bootmem_init() earlier in the boot process, so that this
bootmemory infrastructure is already initialized when e.g. the
networking support gets probed.

Signed-off-by: Stefan Roese <s...@denx.de>
---
 arch/mips/Kconfig           |  1 +
 arch/mips/mach-octeon/cpu.c | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 28234aa0bb6c..34376511daee 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -101,6 +101,7 @@ config ARCH_JZ47XX
 
 config ARCH_OCTEON
        bool "Support Marvell Octeon CN7xxx platforms"
+       select ARCH_EARLY_INIT_R
        select CPU_CAVIUM_OCTEON
        select DISPLAY_CPUINFO
        select DMA_ADDR_T_64BIT
diff --git a/arch/mips/mach-octeon/cpu.c b/arch/mips/mach-octeon/cpu.c
index 6cfcc3eae04e..fffd9dfb8580 100644
--- a/arch/mips/mach-octeon/cpu.c
+++ b/arch/mips/mach-octeon/cpu.c
@@ -393,14 +393,25 @@ static int init_bootcmd_console(void)
        return ret;
 }
 
-int arch_misc_init(void)
+int arch_early_init_r(void)
 {
        int ret;
 
+       /*
+        * Needs to be called pretty early, so that e.g. networking etc
+        * can access the bootmem infrastructure
+        */
        ret = octeon_bootmem_init();
        if (ret)
                return ret;
 
+       return 0;
+}
+
+int arch_misc_init(void)
+{
+       int ret;
+
        ret = octeon_configure_load_memory();
        if (ret)
                return ret;
-- 
2.35.1

Reply via email to