aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/main.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/init/main.c b/init/main.c
index cb54cd3dbf05..1ca6b32c4828 100644
--- a/init/main.c
+++ b/init/main.c
@@ -226,7 +226,7 @@ static int __init loglevel(char *str)
226early_param("loglevel", loglevel); 226early_param("loglevel", loglevel);
227 227
228/* Change NUL term back to "=", to make "param" the whole string. */ 228/* Change NUL term back to "=", to make "param" the whole string. */
229static int __init repair_env_string(char *param, char *val) 229static int __init repair_env_string(char *param, char *val, const char *unused)
230{ 230{
231 if (val) { 231 if (val) {
232 /* param=val or param="val"? */ 232 /* param=val or param="val"? */
@@ -246,9 +246,9 @@ static int __init repair_env_string(char *param, char *val)
246 * Unknown boot options get handed to init, unless they look like 246 * Unknown boot options get handed to init, unless they look like
247 * unused parameters (modprobe will find them in /proc/cmdline). 247 * unused parameters (modprobe will find them in /proc/cmdline).
248 */ 248 */
249static int __init unknown_bootoption(char *param, char *val) 249static int __init unknown_bootoption(char *param, char *val, const char *unused)
250{ 250{
251 repair_env_string(param, val); 251 repair_env_string(param, val, unused);
252 252
253 /* Handle obsolete-style parameters */ 253 /* Handle obsolete-style parameters */
254 if (obsolete_checksetup(param)) 254 if (obsolete_checksetup(param))
@@ -385,7 +385,7 @@ static noinline void __init_refok rest_init(void)
385} 385}
386 386
387/* Check for early params. */ 387/* Check for early params. */
388static int __init do_early_param(char *param, char *val) 388static int __init do_early_param(char *param, char *val, const char *unused)
389{ 389{
390 const struct obs_kernel_param *p; 390 const struct obs_kernel_param *p;
391 391
@@ -725,14 +725,14 @@ static initcall_t *initcall_levels[] __initdata = {
725}; 725};
726 726
727static char *initcall_level_names[] __initdata = { 727static char *initcall_level_names[] __initdata = {
728 "early parameters", 728 "early",
729 "core parameters", 729 "core",
730 "postcore parameters", 730 "postcore",
731 "arch parameters", 731 "arch",
732 "subsys parameters", 732 "subsys",
733 "fs parameters", 733 "fs",
734 "device parameters", 734 "device",
735 "late parameters", 735 "late",
736}; 736};
737 737
738static void __init do_initcall_level(int level) 738static void __init do_initcall_level(int level)
@@ -745,7 +745,7 @@ static void __init do_initcall_level(int level)
745 static_command_line, __start___param, 745 static_command_line, __start___param,
746 __stop___param - __start___param, 746 __stop___param - __start___param,
747 level, level, 747 level, level,
748 repair_env_string); 748 &repair_env_string);
749 749
750 for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) 750 for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
751 do_one_initcall(*fn); 751 do_one_initcall(*fn);
@@ -755,8 +755,13 @@ static void __init do_initcalls(void)
755{ 755{
756 int level; 756 int level;
757 757
758 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) 758 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) {
759 pr_info("initlevel:%d=%s, %d registered initcalls\n",
760 level, initcall_level_names[level],
761 (int) (initcall_levels[level+1]
762 - initcall_levels[level]));
759 do_initcall_level(level); 763 do_initcall_level(level);
764 }
760} 765}
761 766
762/* 767/*