[PATCH v2 5/7] common: board_r: move init_addr_map() to init.h

Ovidiu Panait ovidiu.panait at windriver.com
Sat Jan 1 18:13:29 CET 2022


asm/mmu.h include is currently guarded by CONFIG_ADDR_MAP ifdef because
the header is only present on arm and powerpc. In order to remove the
dependency on this header and the associated ifdef, move init_addr_map()
declaration to init.h, since it is only called during the common init
sequence.

Reviewed-by: Simon Glass <sjg at chromium.org>
Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
---

(no changes since v1)

 arch/arm/include/asm/mmu.h                  |  8 --------
 arch/powerpc/cpu/mpc85xx/tlb.c              |  1 +
 arch/powerpc/include/asm/mmu.h              |  4 ----
 board/freescale/common/fsl_chain_of_trust.c |  5 +----
 common/board_r.c                            |  3 ---
 include/init.h                              | 10 ++++++++++
 6 files changed, 12 insertions(+), 19 deletions(-)
 delete mode 100644 arch/arm/include/asm/mmu.h

diff --git a/arch/arm/include/asm/mmu.h b/arch/arm/include/asm/mmu.h
deleted file mode 100644
index 8449720fad..0000000000
--- a/arch/arm/include/asm/mmu.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-
-#ifndef __ASM_ARM_MMU_H
-#define __ASM_ARM_MMU_H
-
-int init_addr_map(void);
-
-#endif
diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c
index aa9b59d487..550d45da0e 100644
--- a/arch/powerpc/cpu/mpc85xx/tlb.c
+++ b/arch/powerpc/cpu/mpc85xx/tlb.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <init.h>
 #include <asm/bitops.h>
 #include <asm/global_data.h>
 #include <asm/processor.h>
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index cb5b26cd77..2e6255f0d6 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -137,10 +137,6 @@ typedef struct _MMU_context {
 extern void _tlbie(unsigned long va);	/* invalidate a TLB entry */
 extern void _tlbia(void);		/* invalidate all TLB entries */
 
-#ifdef CONFIG_ADDR_MAP
-extern int init_addr_map(void);
-#endif
-
 typedef enum {
 	IBAT0 = 0, IBAT1, IBAT2, IBAT3,
 	DBAT0, DBAT1, DBAT2, DBAT3,
diff --git a/board/freescale/common/fsl_chain_of_trust.c b/board/freescale/common/fsl_chain_of_trust.c
index cafb24971b..7ffb315bc9 100644
--- a/board/freescale/common/fsl_chain_of_trust.c
+++ b/board/freescale/common/fsl_chain_of_trust.c
@@ -6,6 +6,7 @@
 #include <common.h>
 #include <dm.h>
 #include <env.h>
+#include <init.h>
 #include <fsl_validate.h>
 #include <fsl_secboot_err.h>
 #include <fsl_sfp.h>
@@ -16,10 +17,6 @@
 #include <spl.h>
 #endif
 
-#ifdef CONFIG_ADDR_MAP
-#include <asm/mmu.h>
-#endif
-
 #ifdef CONFIG_FSL_CORENET
 #include <asm/fsl_pamu.h>
 #endif
diff --git a/common/board_r.c b/common/board_r.c
index b0840c70b2..7c45e494ed 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -59,9 +59,6 @@
 #ifdef CONFIG_XEN
 #include <xen.h>
 #endif
-#ifdef CONFIG_ADDR_MAP
-#include <asm/mmu.h>
-#endif
 #include <asm/sections.h>
 #include <dm/root.h>
 #include <dm/ofnode.h>
diff --git a/include/init.h b/include/init.h
index f2cd46dead..d8278f1c00 100644
--- a/include/init.h
+++ b/include/init.h
@@ -307,6 +307,16 @@ int board_early_init_r(void);
  */
 int arch_initr_trap(void);
 
+/**
+ * init_addr_map()
+ *
+ * Initialize non-identity virtual-physical memory mappings for 32bit CPUs.
+ * It is called during the generic board init sequence, after relocation.
+ *
+ * Return: 0 if OK
+ */
+int init_addr_map(void);
+
 /**
  * main_loop() - Enter the main loop of U-Boot
  *
-- 
2.25.1



More information about the U-Boot mailing list