]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
ARM: 8173/1: Calculate current_thread_info from current_stack_pointer
authorBehan Webster <behanw@converseincode.com>
Fri, 26 Sep 2014 23:31:09 +0000 (00:31 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 13 Nov 2014 23:58:04 +0000 (23:58 +0000)
Use the global current_stack_pointer to get the value of the stack pointer.
This change supports being able to compile the kernel with both gcc and clang.

Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/thread_info.h

index bb435152189fd7b2df6b02a5ce0cc925aae5125e..b9dc3dce59a6762cdd46723f8ea05728bab844df 100644 (file)
@@ -112,8 +112,8 @@ static inline struct thread_info *current_thread_info(void) __attribute_const__;
 
 static inline struct thread_info *current_thread_info(void)
 {
-       register unsigned long sp asm ("sp");
-       return (struct thread_info *)(sp & ~(THREAD_SIZE - 1));
+       return (struct thread_info *)
+               (current_stack_pointer & ~(THREAD_SIZE - 1));
 }
 
 #define thread_saved_pc(tsk)   \