summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib32
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-07-11 07:58:33 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-07-11 07:58:33 +0200
commite2da792a523bf4366943545217fee574219b263f (patch)
tree9a1dead130235b81d200d9b7f896fa1c0ff00e23 /arch/arm/lib32
parent1f3959944ec390309535aeb47488da9881d2772d (diff)
parent4f0abb8db08b4970e9d58d79947638f8e298fcf6 (diff)
downloadbarebox-e2da792a523bf4366943545217fee574219b263f.tar.gz
barebox-e2da792a523bf4366943545217fee574219b263f.tar.xz
Merge branch 'for-next/imx'
Diffstat (limited to 'arch/arm/lib32')
-rw-r--r--arch/arm/lib32/armlinux.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/lib32/armlinux.c b/arch/arm/lib32/armlinux.c
index 47b9bd33ed..6c7bd101c2 100644
--- a/arch/arm/lib32/armlinux.c
+++ b/arch/arm/lib32/armlinux.c
@@ -107,8 +107,9 @@ static struct tag *armlinux_get_bootparams(void)
BUG();
}
-#ifdef CONFIG_ARM_BOARD_APPEND_ATAG
static struct tag *(*atag_appender)(struct tag *);
+
+#if defined CONFIG_ARM_BOARD_APPEND_ATAG
void armlinux_set_atag_appender(struct tag *(*func)(struct tag *))
{
atag_appender = func;
@@ -234,6 +235,9 @@ static void setup_tags(unsigned long initrd_address,
const char *commandline = linux_bootargs_get();
setup_start_tag();
+ if (IS_ENABLED(CONFIG_ARM_BOARD_PREPEND_ATAG) && atag_appender)
+ params = atag_appender(params);
+
setup_memory_tags();
setup_commandline_tag(commandline, swap);
@@ -242,10 +246,10 @@ static void setup_tags(unsigned long initrd_address,
setup_revision_tag();
setup_serial_tag();
-#ifdef CONFIG_ARM_BOARD_APPEND_ATAG
- if (atag_appender != NULL)
+ if (IS_ENABLED(CONFIG_ARM_BOARD_APPEND_ATAG) && atag_appender &&
+ !IS_ENABLED(CONFIG_ARM_BOARD_PREPEND_ATAG))
params = atag_appender(params);
-#endif
+
setup_end_tag();
printf("commandline: %s\n"