From 7fd697fd54eabd3cfe28414d9c05f65c8cfd9585 Mon Sep 17 00:00:00 2001 From: Christophe Leroy Date: Thu, 13 Jul 2017 15:10:02 +0200 Subject: [PATCH] powerpc, 8xx: move get_immr() into C Avoid unnecessary assembly functions when they can easily be written in C. Signed-off-by: Christophe Leroy --- arch/powerpc/cpu/mpc8xx/start.S | 15 --------------- arch/powerpc/include/asm/ppc.h | 9 ++++++++- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xx/start.S b/arch/powerpc/cpu/mpc8xx/start.S index cd3b29425f..fbdc82a079 100644 --- a/arch/powerpc/cpu/mpc8xx/start.S +++ b/arch/powerpc/cpu/mpc8xx/start.S @@ -305,21 +305,6 @@ int_return: SYNC rfi -/* - * unsigned int get_immr (unsigned int mask) - * - * return (mask ? (IMMR & mask) : IMMR); - */ - .globl get_immr -get_immr: - mr r4,r3 /* save mask */ - mfspr r3, IMMR /* IMMR */ - cmpwi 0,r4,0 /* mask != 0 ? */ - beq 4f - and r3,r3,r4 /* IMMR & mask */ -4: - blr - .globl get_pvr get_pvr: mfspr r3, PVR diff --git a/arch/powerpc/include/asm/ppc.h b/arch/powerpc/include/asm/ppc.h index 27d3b83e07..e11f39801e 100644 --- a/arch/powerpc/include/asm/ppc.h +++ b/arch/powerpc/include/asm/ppc.h @@ -38,8 +38,15 @@ #include #endif +#include + #if defined(CONFIG_8xx) -uint get_immr(uint); +static inline uint get_immr(uint mask) +{ + uint immr = mfspr(SPRN_IMMR); + + return mask ? (immr & mask) : immr; +} #endif uint get_pvr(void); uint get_svr(void); -- 2.25.1