aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Medhurst <tixy@linaro.org>2014-05-08 11:10:03 +0100
committerAndrey Konovalov <andrey.konovalov@linaro.org>2014-05-08 22:44:12 +0400
commitb7ca50c08217dfbec90dc3bfc155bd079eb69caf (patch)
tree7f6d1bba73c21516742bf57c3a09d695c2e37a63
parentc71a08d692959cf5610016f414985061c937e9d9 (diff)
This reverts commit fbb064def7e584caf60296b8eadf007f9c284f96. because it causes this compile error: /tmp/ccSkGqVZ.s: Assembler messages: /tmp/ccSkGqVZ.s:15: Error: operand mismatch -- `add w3,w3,x1' /tmp/ccSkGqVZ.s:508: Error: operand mismatch -- `add w4,w4,x1' make[3]: *** [kernel/locking/spinlock.o] Error 1 Signed-off-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r--arch/arm64/include/asm/spinlock.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm64/include/asm/spinlock.h b/arch/arm64/include/asm/spinlock.h
index 682508bb1456..c45b7b1b7197 100644
--- a/arch/arm64/include/asm/spinlock.h
+++ b/arch/arm64/include/asm/spinlock.h
@@ -58,7 +58,7 @@ static inline void arch_spin_lock(arch_spinlock_t *lock)
/* We got the lock. Critical section starts here. */
"3:"
: "=&r" (lockval), "=&r" (newval), "=&r" (tmp), "+Q" (*lock)
- : "Q" (lock->owner), "r" (1 << TICKET_SHIFT)
+ : "Q" (lock->owner), "I" (1 << TICKET_SHIFT)
: "memory");
}
@@ -77,7 +77,7 @@ static inline int arch_spin_trylock(arch_spinlock_t *lock)
" cbnz %w1, 1b\n"
"2:"
: "=&r" (lockval), "=&r" (tmp), "+Q" (*lock)
- : "r" (1 << TICKET_SHIFT)
+ : "I" (1 << TICKET_SHIFT)
: "memory");
return !tmp;