ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+
[sfrench/cifs-2.6.git] / arch / arm / lib / bitops.h
index 9f12ed1eea860fccf4b6c301277827cb376c2c41..7d807cfd8ef57ed2bdde29d98ddb6a7094f725f7 100644 (file)
@@ -1,3 +1,4 @@
+#include <asm/assembler.h>
 #include <asm/unwind.h>
 
 #if __LINUX_ARM_ARCH__ >= 6
@@ -70,7 +71,7 @@ UNWIND(       .fnstart        )
        \instr  r2, r2, r3
        str     r2, [r1, r0, lsl #2]
        restore_irqs ip
-       mov     pc, lr
+       ret     lr
 UNWIND(        .fnend          )
 ENDPROC(\name          )
        .endm
@@ -98,7 +99,7 @@ UNWIND(       .fnstart        )
        \store  r2, [r1]
        moveq   r0, #0
        restore_irqs ip
-       mov     pc, lr
+       ret     lr
 UNWIND(        .fnend          )
 ENDPROC(\name          )
        .endm