diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-27 07:47:34 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-27 07:47:34 +0200 |
commit | 003263f45b8aa5466afe0209f75a077c50e8f477 (patch) | |
tree | 7103d7f23e88fcdc301928bb157f6ef595c31c21 /init | |
parent | 12f50da2e1ad0cda2fb5754298bd03b3b02eb78b (diff) | |
parent | 8be1a6d6c77ab4532e4476fdb8177030ef48b52c (diff) |
Merge branch 'linus' into kmemcheck
Conflicts:
init/main.c
mm/slab.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init')
-rw-r--r-- | init/do_mounts.c | 2 | ||||
-rw-r--r-- | init/do_mounts.h | 1 | ||||
-rw-r--r-- | init/main.c | 23 |
3 files changed, 7 insertions, 19 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index f769fac4f4c0..3715feb8446d 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -23,7 +23,7 @@ int __initdata rd_doload; /* 1 = load RAM disk, 0 = don't load */ int root_mountflags = MS_RDONLY | MS_SILENT; -char * __initdata root_device_name; +static char * __initdata root_device_name; static char __initdata saved_root_name[64]; static int __initdata root_wait; diff --git a/init/do_mounts.h b/init/do_mounts.h index 735705d137ff..9aa968d54329 100644 --- a/init/do_mounts.h +++ b/init/do_mounts.h @@ -11,7 +11,6 @@ void change_floppy(char *fmt, ...); void mount_block_root(char *name, int flags); void mount_root(void); extern int root_mountflags; -extern char *root_device_name; static inline int create_dev(char *name, dev_t dev) { diff --git a/init/main.c b/init/main.c index efec95229b07..e0ac0f1a00f2 100644 --- a/init/main.c +++ b/init/main.c @@ -744,13 +744,13 @@ static void __init do_one_initcall(initcall_t fn) } -extern initcall_t __initcall_start[], __initcall_end[]; +extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[]; static void __init do_initcalls(void) { initcall_t *call; - for (call = __initcall_start; call < __initcall_end; call++) + for (call = __early_initcall_end; call < __initcall_end; call++) do_one_initcall(*call); /* Make sure there is no pending stuff from the initcall sequence */ @@ -775,26 +775,15 @@ static void __init do_basic_setup(void) do_initcalls(); } -static int __initdata nosoftlockup; - -static int __init nosoftlockup_setup(char *str) -{ - nosoftlockup = 1; - return 1; -} -__setup("nosoftlockup", nosoftlockup_setup); - static void __init do_pre_smp_initcalls(void) { - extern int spawn_ksoftirqd(void); + initcall_t *call; + /* kmemcheck must initialize before all early initcalls: */ kmemcheck_init(); - init_call_single_data(); - migration_init(); - spawn_ksoftirqd(); - if (!nosoftlockup) - spawn_softlockup_task(); + for (call = __initcall_start; call < __early_initcall_end; call++) + do_one_initcall(*call); } static void run_init_process(char *init_filename) |