summaryrefslogtreecommitdiff
path: root/init/main.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-05-12 21:19:32 -0700
committerArnd Bergmann <arnd@arndb.de>2012-05-14 15:57:21 +0200
commit417f381c4568212275f0244500d7d5e1cdb5f99f (patch)
treea56d7b281e2ed665fc395e4724611b115a64881b /init/main.c
parent87c35c56f4beed9e43bd41427643215655a31c3d (diff)
parentc8241085e8606a14ef48e6d99556133c48aaddaf (diff)
Merge branch 'soc-core' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas into next/soc
* 'soc-core' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas: ARM: mach-shmobile: clock-r8a7740: use followparent_recalc on usb24s ARM: mach-shmobile: clock-r8a7740: add MMCIF clock ARM: mach-shmobile: clock-r8a7740: add SDHI clock ARM: mach-shmobile: clock-r8a7740: add USB clock ARM: mach-shmobile: clock-r8a7740: add FSI clock ARM: mach-shmobile: r8a7740: cleanup I2C workaround method ARM: mach-shmobile: r8a7740: add gpio_irq support ARM: mach-shmobile: sh7372: Add FSI DMAEngine support ARM / mach-shmobile: Use preset_lpj with calibrate_delay() + renesas fixes and v3.4-rc6 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/init/main.c b/init/main.c
index 9d454f09f3b1..44b2433334c7 100644
--- a/init/main.c
+++ b/init/main.c
@@ -225,13 +225,9 @@ static int __init loglevel(char *str)
early_param("loglevel", loglevel);
-/*
- * Unknown boot options get handed to init, unless they look like
- * unused parameters (modprobe will find them in /proc/cmdline).
- */
-static int __init unknown_bootoption(char *param, char *val)
+/* Change NUL term back to "=", to make "param" the whole string. */
+static int __init repair_env_string(char *param, char *val)
{
- /* Change NUL term back to "=", to make "param" the whole string. */
if (val) {
/* param=val or param="val"? */
if (val == param+strlen(param)+1)
@@ -243,6 +239,16 @@ static int __init unknown_bootoption(char *param, char *val)
} else
BUG();
}
+ return 0;
+}
+
+/*
+ * Unknown boot options get handed to init, unless they look like
+ * unused parameters (modprobe will find them in /proc/cmdline).
+ */
+static int __init unknown_bootoption(char *param, char *val)
+{
+ repair_env_string(param, val);
/* Handle obsolete-style parameters */
if (obsolete_checksetup(param))
@@ -732,11 +738,6 @@ static char *initcall_level_names[] __initdata = {
"late parameters",
};
-static int __init ignore_unknown_bootoption(char *param, char *val)
-{
- return 0;
-}
-
static void __init do_initcall_level(int level)
{
extern const struct kernel_param __start___param[], __stop___param[];
@@ -747,7 +748,7 @@ static void __init do_initcall_level(int level)
static_command_line, __start___param,
__stop___param - __start___param,
level, level,
- ignore_unknown_bootoption);
+ repair_env_string);
for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
do_one_initcall(*fn);