diff options
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/init/main.c b/init/main.c index 0604cbcaf1e4..20fdc9884b77 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -743,13 +743,13 @@ static void __init do_one_initcall(initcall_t fn) | |||
743 | } | 743 | } |
744 | 744 | ||
745 | 745 | ||
746 | extern initcall_t __initcall_start[], __initcall_end[]; | 746 | extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[]; |
747 | 747 | ||
748 | static void __init do_initcalls(void) | 748 | static void __init do_initcalls(void) |
749 | { | 749 | { |
750 | initcall_t *call; | 750 | initcall_t *call; |
751 | 751 | ||
752 | for (call = __initcall_start; call < __initcall_end; call++) | 752 | for (call = __early_initcall_end; call < __initcall_end; call++) |
753 | do_one_initcall(*call); | 753 | do_one_initcall(*call); |
754 | 754 | ||
755 | /* Make sure there is no pending stuff from the initcall sequence */ | 755 | /* Make sure there is no pending stuff from the initcall sequence */ |
@@ -774,24 +774,12 @@ static void __init do_basic_setup(void) | |||
774 | do_initcalls(); | 774 | do_initcalls(); |
775 | } | 775 | } |
776 | 776 | ||
777 | static int __initdata nosoftlockup; | ||
778 | |||
779 | static int __init nosoftlockup_setup(char *str) | ||
780 | { | ||
781 | nosoftlockup = 1; | ||
782 | return 1; | ||
783 | } | ||
784 | __setup("nosoftlockup", nosoftlockup_setup); | ||
785 | |||
786 | static void __init do_pre_smp_initcalls(void) | 777 | static void __init do_pre_smp_initcalls(void) |
787 | { | 778 | { |
788 | extern int spawn_ksoftirqd(void); | 779 | initcall_t *call; |
789 | 780 | ||
790 | init_call_single_data(); | 781 | for (call = __initcall_start; call < __early_initcall_end; call++) |
791 | migration_init(); | 782 | do_one_initcall(*call); |
792 | spawn_ksoftirqd(); | ||
793 | if (!nosoftlockup) | ||
794 | spawn_softlockup_task(); | ||
795 | } | 783 | } |
796 | 784 | ||
797 | static void run_init_process(char *init_filename) | 785 | static void run_init_process(char *init_filename) |