mm: don't include asm/pgtable.h if linux/mm.h is already included
[platform/kernel/linux-starfive.git] / arch / riscv / mm / init.c
index 939159b..5779786 100644 (file)
@@ -17,7 +17,7 @@
 #include <asm/fixmap.h>
 #include <asm/tlbflush.h>
 #include <asm/sections.h>
-#include <asm/pgtable.h>
+#include <asm/soc.h>
 #include <asm/io.h>
 #include <asm/ptdump.h>
 
@@ -494,7 +494,15 @@ void free_initmem(void)
 #else
 asmlinkage void __init setup_vm(uintptr_t dtb_pa)
 {
+#ifdef CONFIG_BUILTIN_DTB
+       dtb_early_va = soc_lookup_builtin_dtb();
+       if (!dtb_early_va) {
+               /* Fallback to first available DTS */
+               dtb_early_va = (void *) __dtb_start;
+       }
+#else
        dtb_early_va = (void *)dtb_pa;
+#endif
 }
 
 static inline void setup_vm_final(void)