sh: 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> Acked-by: Paul Mundt <lethal@linux-sh.org> Link: http://lkml.kernel.org/r/20120420124557.855203626@linutronix.de
This commit is contained in:
parent
6bba2682c6
commit
ea0588cb6b
|
@ -28,6 +28,7 @@ config SUPERH
|
||||||
select RTC_LIB
|
select RTC_LIB
|
||||||
select GENERIC_ATOMIC64
|
select GENERIC_ATOMIC64
|
||||||
select GENERIC_IRQ_SHOW
|
select GENERIC_IRQ_SHOW
|
||||||
|
select GENERIC_SMP_IDLE_THREAD
|
||||||
help
|
help
|
||||||
The SuperH is a RISC processor targeted for use in embedded systems
|
The SuperH is a RISC processor targeted for use in embedded systems
|
||||||
and consumer electronics; it was also used in the Sega Dreamcast
|
and consumer electronics; it was also used in the Sega Dreamcast
|
||||||
|
|
|
@ -85,10 +85,6 @@ struct sh_cpuinfo {
|
||||||
struct tlb_info itlb;
|
struct tlb_info itlb;
|
||||||
struct tlb_info dtlb;
|
struct tlb_info dtlb;
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
struct task_struct *idle;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
unsigned int phys_bits;
|
unsigned int phys_bits;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
} __attribute__ ((aligned(L1_CACHE_BYTES)));
|
} __attribute__ ((aligned(L1_CACHE_BYTES)));
|
||||||
|
|
|
@ -220,22 +220,10 @@ extern struct {
|
||||||
void *thread_info;
|
void *thread_info;
|
||||||
} stack_start;
|
} stack_start;
|
||||||
|
|
||||||
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tsk)
|
||||||
{
|
{
|
||||||
struct task_struct *tsk;
|
|
||||||
unsigned long timeout;
|
unsigned long timeout;
|
||||||
|
|
||||||
tsk = cpu_data[cpu].idle;
|
|
||||||
if (!tsk) {
|
|
||||||
tsk = fork_idle(cpu);
|
|
||||||
if (IS_ERR(tsk)) {
|
|
||||||
pr_err("Failed forking idle task for cpu %d\n", cpu);
|
|
||||||
return PTR_ERR(tsk);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpu_data[cpu].idle = tsk;
|
|
||||||
}
|
|
||||||
|
|
||||||
per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
|
per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
|
||||||
|
|
||||||
/* Fill in data in head.S for secondary cpus */
|
/* Fill in data in head.S for secondary cpus */
|
||||||
|
|
Loading…
Reference in New Issue