params: add 3rd arg to option handler callback signature
[linux-2.6-block.git] / init / main.c
index 9d454f09f3b1522c850b99d31f517641e47a8503..11bc6f7ed866498e04233c0ac5aee883430d2980 100644 (file)
@@ -229,7 +229,8 @@ 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)
+static int __init unknown_bootoption(char *param, char *val,
+                               const char *unused)
 {
        /* Change NUL term back to "=", to make "param" the whole string. */
        if (val) {
@@ -379,7 +380,7 @@ static noinline void __init_refok rest_init(void)
 }
 
 /* Check for early params. */
-static int __init do_early_param(char *param, char *val)
+static int __init do_early_param(char *param, char *val, const char *unused)
 {
        const struct obs_kernel_param *p;
 
@@ -722,17 +723,18 @@ static initcall_t *initcall_levels[] __initdata = {
 };
 
 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)
+static int __init ignore_unknown_bootoption(char *param, char *val,
+                                       const char *doing)
 {
        return 0;
 }
@@ -747,7 +749,7 @@ static void __init do_initcall_level(int level)
                   static_command_line, __start___param,
                   __stop___param - __start___param,
                   level, level,
-                  ignore_unknown_bootoption);
+                  &ignore_unknown_bootoption);
 
        for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
                do_one_initcall(*fn);
@@ -757,8 +759,13 @@ static void __init do_initcalls(void)
 {
        int level;
 
-       for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++)
+       for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) {
+               pr_info("initlevel:%d=%s, %d registered initcalls\n",
+                       level, initcall_level_names[level],
+                       (int) (initcall_levels[level+1]
+                               - initcall_levels[level]));
                do_initcall_level(level);
+       }
 }
 
 /*