diff options
author | Christophe Leroy <christophe.leroy@c-s.fr> | 2017-07-13 15:10:02 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-07-22 22:22:50 -0400 |
commit | 7fd697fd54eabd3cfe28414d9c05f65c8cfd9585 (patch) | |
tree | b646f2930b9555bca9e8733ed902773d2d1c9fff /arch | |
parent | 1e7cefef585c972ed40e016ba8739f5c5091254b (diff) |
powerpc, 8xx: move get_immr() into C
Avoid unnecessary assembly functions when they can easily be written
in C.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/cpu/mpc8xx/start.S | 15 | ||||
-rw-r--r-- | 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 <asm/arch/immap_lsch2.h> #endif +#include <asm/processor.h> + #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); |