hexagon: Use generic idle thread allocation
authorThomas Gleixner <tglx@linutronix.de>
Fri, 20 Apr 2012 13:05:51 +0000 (13:05 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 26 Apr 2012 10:06:11 +0000 (12:06 +0200)
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-and-tested-by: Richard Kuo <rkuo@codeaurora.org>
Link: http://lkml.kernel.org/r/20120420124557.581762105@linutronix.de
arch/hexagon/Kconfig
arch/hexagon/kernel/smp.c

index 9059e3905887196a48750cf3e531abf0aa6d96df..d2e4a333033626d8ca1fb9ebf09851dfe54278cd 100644 (file)
@@ -27,6 +27,7 @@ config HEXAGON
        select HAVE_ARCH_TRACEHOOK
        select NO_IOPORT
        select GENERIC_IOMAP
+       select GENERIC_SMP_IDLE_THREAD
        # mostly generic routines, with some accelerated ones
        ---help---
          Qualcomm Hexagon is a processor architecture designed for high
index 93e77e2b17a8c6091dadf6a6c8eaaf4ac3abcb7c..f7264621e58ddf888708dcbe114320bd2d2fd934 100644 (file)
@@ -196,18 +196,11 @@ void __cpuinit start_secondary(void)
  * maintains control until "cpu_online(cpu)" is set.
  */
 
-int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
+int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
 {
-       struct task_struct *idle;
-       struct thread_info *thread;
+       struct thread_info *thread = (struct thread_info *)idle->stack;
        void *stack_start;
 
-       /*  Create new init task for the CPU  */
-       idle = fork_idle(cpu);
-       if (IS_ERR(idle))
-               panic(KERN_ERR "fork_idle failed\n");
-
-       thread = (struct thread_info *)idle->stack;
        thread->cpu = cpu;
 
        /*  Boot to the head.  */