Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7babe8db authored by Eduard - Gabriel Munteanu's avatar Eduard - Gabriel Munteanu Committed by Linus Torvalds
Browse files

Full conversion to early_initcall() interface, remove old interface



A previous patch added the early_initcall(), to allow a cleaner hooking of
pre-SMP initcalls.  Now we remove the older interface, converting all
existing users to the new one.

[akpm@linux-foundation.org: cleanups]
[akpm@linux-foundation.org: build fix]
[kosaki.motohiro@jp.fujitsu.com: warning fix]
[kosaki.motohiro@jp.fujitsu.com: warning fix]
Signed-off-by: default avatarEduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Tom Zanussi <tzanussi@gmail.com>
Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c2147a50
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -292,7 +292,6 @@ extern void sched_show_task(struct task_struct *p);

#ifdef CONFIG_DETECT_SOFTLOCKUP
extern void softlockup_tick(void);
extern void spawn_softlockup_task(void);
extern void touch_softlockup_watchdog(void);
extern void touch_all_softlockup_watchdogs(void);
extern unsigned int  softlockup_panic;
@@ -2222,14 +2221,6 @@ static inline void inc_syscw(struct task_struct *tsk)
}
#endif

#ifdef CONFIG_SMP
void migration_init(void);
#else
static inline void migration_init(void)
{
}
#endif

#ifndef TASK_SIZE_OF
#define TASK_SIZE_OF(tsk)	TASK_SIZE
#endif
+0 −5
Original line number Diff line number Diff line
@@ -74,15 +74,10 @@ void __smp_call_function_single(int cpuid, struct call_single_data *data);
#ifdef CONFIG_USE_GENERIC_SMP_HELPERS
void generic_smp_call_function_single_interrupt(void);
void generic_smp_call_function_interrupt(void);
void init_call_single_data(void);
void ipi_call_lock(void);
void ipi_call_unlock(void);
void ipi_call_lock_irq(void);
void ipi_call_unlock_irq(void);
#else
static inline void init_call_single_data(void)
{
}
#endif

/*
+1 −22
Original line number Diff line number Diff line
@@ -774,16 +774,7 @@ 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)
static void __init do_pre_smp_initcalls(void)
{
	initcall_t *call;

@@ -791,17 +782,6 @@ static void __init __do_pre_smp_initcalls(void)
		do_one_initcall(*call);
}

static void __init do_pre_smp_initcalls(void)
{
	extern int spawn_ksoftirqd(void);

	init_call_single_data();
	migration_init();
	spawn_ksoftirqd();
	if (!nosoftlockup)
		spawn_softlockup_task();
}

static void run_init_process(char *init_filename)
{
	argv_init[0] = init_filename;
@@ -873,7 +853,6 @@ static int __init kernel_init(void * unused)

	smp_prepare_cpus(setup_max_cpus);

	__do_pre_smp_initcalls();
	do_pre_smp_initcalls();

	smp_init();
+4 −1
Original line number Diff line number Diff line
@@ -6389,7 +6389,7 @@ static struct notifier_block __cpuinitdata migration_notifier = {
	.priority = 10
};

void __init migration_init(void)
static int __init migration_init(void)
{
	void *cpu = (void *)(long)smp_processor_id();
	int err;
@@ -6399,7 +6399,10 @@ void __init migration_init(void)
	BUG_ON(err == NOTIFY_BAD);
	migration_call(&migration_notifier, CPU_ONLINE, cpu);
	register_cpu_notifier(&migration_notifier);

	return err;
}
early_initcall(migration_init);
#endif

#ifdef CONFIG_SMP
+3 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ struct call_single_queue {
	spinlock_t lock;
};

void __cpuinit init_call_single_data(void)
static int __cpuinit init_call_single_data(void)
{
	int i;

@@ -43,7 +43,9 @@ void __cpuinit init_call_single_data(void)
		spin_lock_init(&q->lock);
		INIT_LIST_HEAD(&q->list);
	}
	return 0;
}
early_initcall(init_call_single_data);

static void csd_flag_wait(struct call_single_data *data)
{
Loading