[PATCH v2 03/18] ARM: i.MX8M: scratch: make imx_scratch_space private

Marco Felsch m.felsch at pengutronix.de
Tue Jan 16 09:07:23 PST 2024


Make the scratch layout opaque and provide required accessor functions
to make it easier to extent it later on.

Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
---
 arch/arm/mach-imx/romapi.c  |  6 ++----
 arch/arm/mach-imx/scratch.c | 12 +++++++++++-
 include/mach/imx/scratch.h  |  6 ++----
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-imx/romapi.c b/arch/arm/mach-imx/romapi.c
index e11f38202461..51e35c9d2aa2 100644
--- a/arch/arm/mach-imx/romapi.c
+++ b/arch/arm/mach-imx/romapi.c
@@ -220,10 +220,8 @@ const u32 *imx8m_get_bootrom_log(void)
 		return (u32 *)rom_log_addr;
 	}
 
-	if (!IN_PBL) {
-		const struct imx_scratch_space *scratch = arm_mem_scratch_get();
-		return scratch->bootrom_log;
-	}
+	if (!IN_PBL)
+		return imx8m_scratch_get_bootrom_log();
 
 	return NULL;
 }
diff --git a/arch/arm/mach-imx/scratch.c b/arch/arm/mach-imx/scratch.c
index 0828b55ff8e5..fba00955c095 100644
--- a/arch/arm/mach-imx/scratch.c
+++ b/arch/arm/mach-imx/scratch.c
@@ -8,7 +8,11 @@
 #include <mach/imx/scratch.h>
 #include <memory.h>
 
-struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth)
+struct imx_scratch_space {
+	u32 bootrom_log[128];
+};
+
+void *__imx8m_scratch_space(int ddr_buswidth)
 {
 	ulong endmem = MX8M_DDR_CSD1_BASE_ADDR +
 		imx8m_barebox_earlymem_size(ddr_buswidth);
@@ -16,6 +20,12 @@ struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth)
 	return (void *)arm_mem_scratch(endmem);
 }
 
+const u32 *imx8m_scratch_get_bootrom_log(void)
+{
+	const struct imx_scratch_space *scratch = arm_mem_scratch_get();
+	return scratch->bootrom_log;
+}
+
 static int imx8m_reserve_scratch_area(void)
 {
 	return PTR_ERR_OR_ZERO(request_sdram_region("scratch area",
diff --git a/include/mach/imx/scratch.h b/include/mach/imx/scratch.h
index 6dcf35750caf..9b01cf315622 100644
--- a/include/mach/imx/scratch.h
+++ b/include/mach/imx/scratch.h
@@ -3,11 +3,9 @@
 #ifndef __MACH_IMX_SCRATCH_H
 #define __MACH_IMX_SCRATCH_H
 
-struct imx_scratch_space {
-	u32 bootrom_log[128];
-};
+void *__imx8m_scratch_space(int ddr_buswidth);
 
-struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth);
+const u32 *imx8m_scratch_get_bootrom_log(void);
 
 #define imx8mq_scratch_space() __imx8m_scratch_space(32)
 #define imx8mm_scratch_space() __imx8m_scratch_space(32)
-- 
2.39.2




More information about the barebox mailing list