Merge tag 'devicetree-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
[platform/kernel/linux-rpi.git] / init / main.c
index 0337197..76df62f 100644 (file)
@@ -63,6 +63,7 @@
 #include <linux/debugobjects.h>
 #include <linux/lockdep.h>
 #include <linux/kmemleak.h>
+#include <linux/padata.h>
 #include <linux/pid_namespace.h>
 #include <linux/device/driver.h>
 #include <linux/kthread.h>
@@ -1432,6 +1433,16 @@ static int __ref kernel_init(void *unused)
                panic("Requested init %s failed (error %d).",
                      execute_command, ret);
        }
+
+       if (CONFIG_DEFAULT_INIT[0] != '\0') {
+               ret = run_init_process(CONFIG_DEFAULT_INIT);
+               if (ret)
+                       pr_err("Default init %s failed (error %d)\n",
+                              CONFIG_DEFAULT_INIT, ret);
+               else
+                       return 0;
+       }
+
        if (!try_to_run_init_process("/sbin/init") ||
            !try_to_run_init_process("/etc/init") ||
            !try_to_run_init_process("/bin/init") ||
@@ -1482,6 +1493,7 @@ static noinline void __init kernel_init_freeable(void)
        smp_init();
        sched_init_smp();
 
+       padata_init();
        page_alloc_init_late();
        /* Initialize page ext after all struct pages are initialized. */
        page_ext_init();