The zero_init, memset and scratch assignment were the same, and will be the same for i.MX6. Why not make it generic?
Signed-off-by: Fabian Pflug <[email protected]> --- arch/arm/mach-imx/Kconfig | 2 +- arch/arm/mach-imx/scratch.c | 18 +++++++++--------- include/mach/imx/scratch.h | 1 + 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 99b6c51333..208e6488bd 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -57,7 +57,7 @@ config ARCH_IMX_ROMAPI config ARCH_IMX_SCRATCHMEM def_bool y - depends on ARCH_IMX8M || ARCH_IMX9 + depends on ARCH_IMX6 || ARCH_IMX8M || ARCH_IMX9 config ARCH_IMX_TZASC bool diff --git a/arch/arm/mach-imx/scratch.c b/arch/arm/mach-imx/scratch.c index 393d3a976f..f26038b029 100644 --- a/arch/arm/mach-imx/scratch.c +++ b/arch/arm/mach-imx/scratch.c @@ -24,25 +24,25 @@ static_assert(sizeof(struct imx_scratch_space) <= CONFIG_SCRATCH_SIZE); static struct imx_scratch_space *scratch; -void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init) +void imx_init_scratch_space(ulong endmem, bool zero_init) { - ulong endmem = MX8M_DDR_CSD1_BASE_ADDR + - imx8m_barebox_earlymem_size(ddr_buswidth); - scratch = (void *)arm_mem_scratch(endmem); if (zero_init) memset(scratch, 0, sizeof(*scratch)); } +void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init) +{ + ulong endmem = MX8M_DDR_CSD1_BASE_ADDR + + imx8m_barebox_earlymem_size(ddr_buswidth); + imx_init_scratch_space(endmem, zero_init); +} + void imx93_init_scratch_space(bool zero_init) { ulong endmem = MX9_DDR_CSD1_BASE_ADDR + imx9_ddrc_sdram_size(); - - scratch = (void *)arm_mem_scratch(endmem); - - if (zero_init) - memset(scratch, 0, sizeof(*scratch)); + imx_init_scratch_space(endmem, zero_init); } void imx8m_scratch_save_bootrom_log(const u32 *rom_log) diff --git a/include/mach/imx/scratch.h b/include/mach/imx/scratch.h index a9745a9573..a86f5ca38a 100644 --- a/include/mach/imx/scratch.h +++ b/include/mach/imx/scratch.h @@ -3,6 +3,7 @@ #ifndef __MACH_IMX_SCRATCH_H #define __MACH_IMX_SCRATCH_H +void imx_init_scratch_space(ulong endmem, bool zero_init); void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init); void imx93_init_scratch_space(bool zero_init); -- 2.47.3
