mirror of https://gitee.com/openkylin/linux.git
blackfin: Use generic idle thread allocation
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Cc: Mike Frysinger <vapier@gentoo.org> Link: http://lkml.kernel.org/r/20120420124557.717064871@linutronix.de
This commit is contained in:
parent
a4cfc31da3
commit
6bba2682c6
|
@ -37,6 +37,7 @@ config BLACKFIN
|
||||||
select GENERIC_IRQ_PROBE
|
select GENERIC_IRQ_PROBE
|
||||||
select IRQ_PER_CPU if SMP
|
select IRQ_PER_CPU if SMP
|
||||||
select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
|
select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
|
||||||
|
select GENERIC_SMP_IDLE_THREAD
|
||||||
|
|
||||||
config GENERIC_CSUM
|
config GENERIC_CSUM
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
|
@ -340,27 +340,10 @@ void smp_send_stop(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct blackfin_cpudata *ci = &per_cpu(cpu_data, cpu);
|
|
||||||
struct task_struct *idle = ci->idle;
|
|
||||||
|
|
||||||
if (idle) {
|
|
||||||
free_task(idle);
|
|
||||||
idle = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!idle) {
|
|
||||||
idle = fork_idle(cpu);
|
|
||||||
if (IS_ERR(idle)) {
|
|
||||||
printk(KERN_ERR "CPU%u: fork() failed\n", cpu);
|
|
||||||
return PTR_ERR(idle);
|
|
||||||
}
|
|
||||||
ci->idle = idle;
|
|
||||||
} else {
|
|
||||||
init_idle(idle, cpu);
|
|
||||||
}
|
|
||||||
secondary_stack = task_stack_page(idle) + THREAD_SIZE;
|
secondary_stack = task_stack_page(idle) + THREAD_SIZE;
|
||||||
|
|
||||||
ret = platform_boot_secondary(cpu, idle);
|
ret = platform_boot_secondary(cpu, idle);
|
||||||
|
|
Loading…
Reference in New Issue