ARM: 6653/1: bitops: Use BX instead of MOV PC,LR
authorDave Martin <dave.martin@linaro.org>
Tue, 8 Feb 2011 11:09:52 +0000 (12:09 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 19 Feb 2011 16:07:21 +0000 (16:07 +0000)
The kernel doesn't officially need to interwork, but using BX
wherever appropriate will help educate people into good assembler
coding habits.

BX is appropriate here because this code is predicated on
__LINUX_ARM_ARCH__ >= 6

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/bitops.h

index a9d9d152a751e32d4fc0a868b38994c3b8ef3bf5..10d868a5a48135840278022e153f3610b0b7a640 100644 (file)
@@ -12,7 +12,7 @@
        strex   r0, r2, [r1]
        cmp     r0, #0
        bne     1b
-       mov     pc, lr
+       bx      lr
        .endm
 
        .macro  testop, instr, store
@@ -33,7 +33,7 @@
        smp_dmb
        cmp     r0, #0
        movne   r0, #1
-2:     mov     pc, lr
+2:     bx      lr
        .endm
 #else
        .macro  bitop, instr