summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-06-16 14:28:08 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-06-20 08:30:34 +0200
commit1e992a195cc0c89ad5faa8c15e89cc5561be6f9d (patch)
treeeed925e0c7443b0e59fd17209d0d2fbada24d582 /arch
parent22d7d604f13968fdaeadda73e81e930e933d7e10 (diff)
downloadbarebox-1e992a195cc0c89ad5faa8c15e89cc5561be6f9d.tar.gz
barebox-1e992a195cc0c89ad5faa8c15e89cc5561be6f9d.tar.xz
ARM: start: do not change barebox_boarddata
barebox_boarddata should stay the original boarddata and not be modified. Keep a local pointer in barebox_arm_boot_dtb() instead. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/start.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index e037d91f9c..d6a4c627ff 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -73,6 +73,10 @@ void *barebox_arm_boot_dtb(void)
void *data;
int ret;
struct barebox_arm_boarddata_compressed_dtb *compressed_dtb;
+ static void *boot_dtb;
+
+ if (boot_dtb)
+ return boot_dtb;
if (barebox_boarddata && blob_is_fdt(barebox_boarddata)) {
pr_debug("%s: using barebox_boarddata\n", __func__);
@@ -101,9 +105,9 @@ void *barebox_arm_boot_dtb(void)
return NULL;
}
- barebox_boarddata = dtb;
+ boot_dtb = dtb;
- return barebox_boarddata;
+ return boot_dtb;
}
static inline unsigned long arm_mem_boarddata(unsigned long membase,