Replace the open coded PC relative offset calculations with a pair
of adr_l invocations.

Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
 arch/arm/kernel/head.S | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 6e9df3663a57..aed341e0f530 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -523,19 +523,11 @@ ARM_BE8(rev       r0, r0)                 @ byteswap if 
big endian
        retne   lr
 
 __fixup_smp_on_up:
-       adr     r0, 1f
-       ldmia   r0, {r3 - r5}
-       sub     r3, r0, r3
-       add     r4, r4, r3
-       add     r5, r5, r3
+       adr_l   r4, __smpalt_begin
+       adr_l   r5, __smpalt_end
        b       __do_fixup_smp_on_up
 ENDPROC(__fixup_smp)
 
-       .align
-1:     .word   .
-       .word   __smpalt_begin
-       .word   __smpalt_end
-
        .pushsection .data
        .globl  smp_on_up
 smp_on_up:
-- 
2.11.0

Reply via email to