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@xxxxxxxxxxxxxx> --- 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