summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-27 07:47:34 +0200
committerIngo Molnar <mingo@elte.hu>2008-07-27 07:47:34 +0200
commit003263f45b8aa5466afe0209f75a077c50e8f477 (patch)
tree7103d7f23e88fcdc301928bb157f6ef595c31c21 /init
parent12f50da2e1ad0cda2fb5754298bd03b3b02eb78b (diff)
parent8be1a6d6c77ab4532e4476fdb8177030ef48b52c (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.c2
-rw-r--r--init/do_mounts.h1
-rw-r--r--init/main.c23
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)