[PATCH 3/4] ARM: start: simplify board_data sdram allocation

Sascha Hauer s.hauer at pengutronix.de
Thu Jun 16 06:18:21 PDT 2016


We already have a pointer for barebox_boarddata, so use it to
request the corresponding SDRAM region instead of calculating
it again.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/cpu/start.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index d6a4c62..38f69d5 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -37,6 +37,7 @@ unsigned long arm_stack_top;
 static unsigned long arm_head_bottom;
 static unsigned long arm_barebox_size;
 static void *barebox_boarddata;
+static unsigned long barebox_boarddata_size;
 
 static bool blob_is_fdt(const void *blob)
 {
@@ -130,11 +131,9 @@ EXPORT_SYMBOL_GPL(arm_mem_ramoops_get);
 
 static int barebox_memory_areas_init(void)
 {
-	unsigned long start = arm_head_bottom;
-	unsigned long size = arm_mem_barebox_image(0, arm_stack_top,
-						   arm_barebox_size) -
-			     arm_head_bottom;
-	request_sdram_region("board data", start, size);
+	if(barebox_boarddata)
+		request_sdram_region("board data", (unsigned long)barebox_boarddata,
+				     barebox_boarddata_size);
 
 	return 0;
 }
@@ -201,6 +200,7 @@ __noreturn void barebox_non_pbl_start(unsigned long membase,
 				 name, mem);
 			barebox_boarddata = memcpy((void *)mem, boarddata,
 						   totalsize);
+			barebox_boarddata_size = totalsize;
 			arm_head_bottom = mem;
 		}
 	}
-- 
2.8.1




More information about the barebox mailing list