As for RETINSTR/LOADREGS macros, these were for compatibility
with 26-bit ARMs.  No longer required, so remove them.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  *  -EFAULT on exception, or "len" if we fill the whole buffer
  */
 ENTRY(__arch_strncpy_from_user)
-       save_lr
        mov     ip, r1
 1:     subs    r2, r2, #1
 USER(  ldrplbt r3, [r1], #1)
        bne     1b
        sub     r1, r1, #1      @ take NUL character out of count
 2:     sub     r0, r1, ip
-       restore_pc
+       mov     pc, lr
 
        .section .fixup,"ax"
        .align  0
 9001:  mov     r3, #0
        strb    r3, [r0, #0]    @ null terminate
        mov     r0, #-EFAULT
-       restore_pc
+       mov     pc, lr
        .previous
 
 
  *           or zero on exception, or n + 1 if too long
  */
 ENTRY(__arch_strnlen_user)
-       save_lr
        mov     r2, r0
 1:
 USER(  ldrbt   r3, [r0], #1)
        bne     1b
        add     r0, r0, #1
 2:     sub     r0, r0, r2
-       restore_pc
+       mov     pc, lr
 
        .section .fixup,"ax"
        .align  0
 9001:  mov     r0, #0
-       restore_pc
+       mov     pc, lr
        .previous
 
        msr     cpsr_c, \oldcpsr
        .endm
 
-/*
- * These two are used to save LR/restore PC over a user-based access.
- * The old 26-bit architecture requires that we do.  On 32-bit
- * architecture, we can safely ignore this requirement.
- */
-       .macro  save_lr
-       .endm
-
-       .macro  restore_pc
-       mov     pc, lr
-       .endm
-
 #define USER(x...)                             \
 9999:  x;                                      \
        .section __ex_table,"a";                \