summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib/armlinux.c
diff options
context:
space:
mode:
authorVicente Bergas <vicencb@gmail.com>2013-01-19 18:23:27 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-01-21 09:09:11 +0100
commit53f1d60627c8dfae835c2a7e3a9b7af132da3e64 (patch)
tree0d8377100e737c0af63a95fd86a52c7576493dbc /arch/arm/lib/armlinux.c
parent63d11f044a5fdfaf72ce983f7c6f297b32885a97 (diff)
downloadbarebox-53f1d60627c8dfae835c2a7e3a9b7af132da3e64.tar.gz
barebox-53f1d60627c8dfae835c2a7e3a9b7af132da3e64.tar.xz
feature_list: a way to pass hardware info to the kernel
Hi Sascha, I've made the changes you suggested in this resent patch. Everything related to custom ATAGs has been moved to the board directory. The generic code does not make any references to feature lists or bootloader versions. About the setup_feature_list prototype: it has been renamed to atag_appender it's not a function, it's a pointer to a function. Can it have a prototype other than it's own declaration? All non-related changes has been dropped. They were checkpatch.pl warnings unrelated to this patch. Regards, Vicente. Signed-off-by: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib/armlinux.c')
-rw-r--r--arch/arm/lib/armlinux.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c
index 9c134ed4b8..40a63ea7e1 100644
--- a/arch/arm/lib/armlinux.c
+++ b/arch/arm/lib/armlinux.c
@@ -106,6 +106,14 @@ u64 armlinux_get_serial(void)
#endif
}
+#ifdef CONFIG_ARM_BOARD_APPEND_ATAG
+static struct tag *(*atag_appender)(struct tag *);
+void armlinux_set_atag_appender(struct tag *(*func)(struct tag *))
+{
+ atag_appender = func;
+}
+#endif
+
static void setup_start_tag(void)
{
params = (struct tag *)armlinux_bootparams;
@@ -233,6 +241,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)
+ params = atag_appender(params);
+#endif
setup_end_tag();
printf("commandline: %s\n"