From f23543c3609cd91efafedc86f8557f4939c4d201 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 10 Sep 2009 18:30:06 +0000
Subject: [PATCH] adm5120: use the generic image_cmdline hack

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17564 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../adm5120/files/arch/mips/adm5120/common/prom.c | 10 +++++++---
 .../adm5120/patches-2.6.28/140-cmdline_hack.patch | 15 ---------------
 .../adm5120/patches-2.6.30/140-cmdline_hack.patch | 15 ---------------
 target/linux/adm5120/router_le/config-2.6.28      |  2 +-
 target/linux/adm5120/router_le/config-2.6.30      |  2 +-
 5 files changed, 9 insertions(+), 35 deletions(-)
 delete mode 100644 target/linux/adm5120/patches-2.6.28/140-cmdline_hack.patch
 delete mode 100644 target/linux/adm5120/patches-2.6.30/140-cmdline_hack.patch

diff --git a/target/linux/adm5120/files/arch/mips/adm5120/common/prom.c b/target/linux/adm5120/files/arch/mips/adm5120/common/prom.c
index 85b61ab8a..5b2e45def 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/common/prom.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/common/prom.c
@@ -237,18 +237,22 @@ static void __init prom_detect_machtype(void)
 	adm5120_mach_type = MACH_ADM5120_GENERIC;
 }
 
-/* TODO: this is an ugly hack for RouterBOARDS */
-extern char _image_cmdline;
+#ifdef CONFIG_IMAGE_CMDLINE_HACK
+extern char __image_cmdline[];
+
 static void __init prom_init_cmdline(void)
 {
 	char *cmd;
 
 	/* init command line, register a default kernel command line */
-	cmd = &_image_cmdline + 8;
+	cmd = __image_cmdline;
 	if (strlen(cmd) > 0)
 		strlcpy(arcs_cmdline, cmd, sizeof(arcs_cmdline));
 
 }
+#else
+static void inline prom_init_cmdline(void) {}
+#endif /* CONFIG_IMAGE_CMDLINE_HACK */
 
 #define UART_READ(r) \
 	__raw_readl((void __iomem *)(KSEG1ADDR(ADM5120_UART0_BASE)+(r)))
diff --git a/target/linux/adm5120/patches-2.6.28/140-cmdline_hack.patch b/target/linux/adm5120/patches-2.6.28/140-cmdline_hack.patch
deleted file mode 100644
index 14172fcaf..000000000
--- a/target/linux/adm5120/patches-2.6.28/140-cmdline_hack.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/arch/mips/kernel/head.S
-+++ b/arch/mips/kernel/head.S
-@@ -127,7 +127,12 @@
- 	/*
- 	 * Reserved space for exception handlers.
- 	 * Necessary for machines which link their kernels at KSEG0.
-+	 * Use as temporary storage for the kernel command line, so that it
-+	 * can be updated easily without having to relink the kernel.
- 	 */
-+
-+EXPORT(_image_cmdline)
-+	.ascii "CMDLINE:"
- 	.fill	0x400
- #endif
- 
diff --git a/target/linux/adm5120/patches-2.6.30/140-cmdline_hack.patch b/target/linux/adm5120/patches-2.6.30/140-cmdline_hack.patch
deleted file mode 100644
index 14172fcaf..000000000
--- a/target/linux/adm5120/patches-2.6.30/140-cmdline_hack.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/arch/mips/kernel/head.S
-+++ b/arch/mips/kernel/head.S
-@@ -127,7 +127,12 @@
- 	/*
- 	 * Reserved space for exception handlers.
- 	 * Necessary for machines which link their kernels at KSEG0.
-+	 * Use as temporary storage for the kernel command line, so that it
-+	 * can be updated easily without having to relink the kernel.
- 	 */
-+
-+EXPORT(_image_cmdline)
-+	.ascii "CMDLINE:"
- 	.fill	0x400
- #endif
- 
diff --git a/target/linux/adm5120/router_le/config-2.6.28 b/target/linux/adm5120/router_le/config-2.6.28
index 038b64a11..3bd82df7c 100644
--- a/target/linux/adm5120/router_le/config-2.6.28
+++ b/target/linux/adm5120/router_le/config-2.6.28
@@ -124,7 +124,7 @@ CONFIG_HZ_250=y
 # CONFIG_IDE is not set
 CONFIG_IEEE80211=m
 CONFIG_IEEE80211_CRYPT_WEP=m
-# CONFIG_IMAGE_CMDLINE_HACK is not set
+CONFIG_IMAGE_CMDLINE_HACK=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
diff --git a/target/linux/adm5120/router_le/config-2.6.30 b/target/linux/adm5120/router_le/config-2.6.30
index 73c06565d..519c7d62d 100644
--- a/target/linux/adm5120/router_le/config-2.6.30
+++ b/target/linux/adm5120/router_le/config-2.6.30
@@ -135,7 +135,7 @@ CONFIG_HZ=250
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_I2C is not set
-# CONFIG_IMAGE_CMDLINE_HACK is not set
+CONFIG_IMAGE_CMDLINE_HACK=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
-- 
2.20.1