Hi Greg, Today's linux-next merge of the driver-core tree got a conflict in init/main.c between commit a99cd1125189 ("init: fix bug where environment vars can't be passed via boot args") from Linus' tree and commit 9fb48c744ba6 ("params: add 3rd arg to option handler callback signature") from the driver-core tree. I fixed it up (see below) and can carry the fix as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc init/main.c index 44b2433,11bc6f7..0000000 --- a/init/main.c +++ b/init/main.c @@@ -225,9 -225,14 +225,10 @@@ 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) ++static int __init repair_env_string(char *param, char *val, + const char *unused) { - /* Change NUL term back to "=", to make "param" the whole string. */ if (val) { /* param=val or param="val"? */ if (val == param+strlen(param)+1) @@@ -239,16 -244,6 +240,17 @@@ } 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) ++static int __init unknown_bootoption(char *param, char *val, ++ const char *unused) +{ - repair_env_string(param, val); ++ repair_env_string(param, val, unused); /* Handle obsolete-style parameters */ if (obsolete_checksetup(param)) @@@ -728,16 -723,22 +730,16 @@@ static initcall_t *initcall_levels[] __ }; static char *initcall_level_names[] __initdata = { - "early parameters", - "core parameters", - "postcore parameters", - "arch parameters", - "subsys parameters", - "fs parameters", - "device parameters", - "late parameters", + "early", + "core", + "postcore", + "arch", + "subsys", + "fs", + "device", + "late", }; -static int __init ignore_unknown_bootoption(char *param, char *val, - const char *doing) -{ - return 0; -} - static void __init do_initcall_level(int level) { extern const struct kernel_param __start___param[], __stop___param[]; @@@ -748,7 -749,7 +750,7 @@@ static_command_line, __start___param, __stop___param - __start___param, level, level, - repair_env_string); - &ignore_unknown_bootoption); ++ &repair_env_string); for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) do_one_initcall(*fn);
Attachment:
pgp3nTt82JNKl.pgp
Description: PGP signature