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 a9d9d15..10d868a 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