powerpc/time: Make mftb() common to PPC32 and PPC64
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Thu, 1 Oct 2020 12:42:40 +0000 (12:42 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 8 Oct 2020 10:17:15 +0000 (21:17 +1100)
No need to have two versions that are identical.

CONFIG_PPC_CELL is only selected by PPC64 targets.
CONFIG_E500 is the only PPC64 target selecting CONFIG_FSL_BOOK3E.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/6bf23ec744aab4ba63506a011f6a145ea35d620d.1601556145.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/reg.h

index c66dcdb..f877a57 100644 (file)
@@ -1419,8 +1419,7 @@ static inline void msr_check_and_clear(unsigned long bits)
                __msr_check_and_clear(bits);
 }
 
-#ifdef __powerpc64__
-#if defined(CONFIG_PPC_CELL) || defined(CONFIG_PPC_FSL_BOOK3E)
+#if defined(CONFIG_PPC_CELL) || defined(CONFIG_E500)
 #define mftb()         ({unsigned long rval;                           \
                        asm volatile(                                   \
                                "90:    mfspr %0, %2;\n"                \
@@ -1430,28 +1429,23 @@ static inline void msr_check_and_clear(unsigned long bits)
                        : "=r" (rval) \
                        : "i" (CPU_FTR_CELL_TB_BUG), "i" (SPRN_TBRL) : "cr0"); \
                        rval;})
+#elif defined(CONFIG_PPC_8xx)
+#define mftb()         ({unsigned long rval;   \
+                       asm volatile("mftbl %0" : "=r" (rval)); rval;})
 #else
 #define mftb()         ({unsigned long rval;   \
                        asm volatile("mfspr %0, %1" : \
                                     "=r" (rval) : "i" (SPRN_TBRL)); rval;})
 #endif /* !CONFIG_PPC_CELL */
 
-#else /* __powerpc64__ */
-
 #if defined(CONFIG_PPC_8xx)
-#define mftb()         ({unsigned long rval;   \
-                       asm volatile("mftbl %0" : "=r" (rval)); rval;})
 #define mftbu()                ({unsigned long rval;   \
                        asm volatile("mftbu %0" : "=r" (rval)); rval;})
 #else
-#define mftb()         ({unsigned long rval;   \
-                       asm volatile("mfspr %0, %1" : "=r" (rval) : \
-                               "i" (SPRN_TBRL)); rval;})
 #define mftbu()                ({unsigned long rval;   \
                        asm volatile("mfspr %0, %1" : "=r" (rval) : \
                                "i" (SPRN_TBRU)); rval;})
 #endif
-#endif /* !__powerpc64__ */
 
 #define mttbl(v)       asm volatile("mttbl %0":: "r"(v))
 #define mttbu(v)       asm volatile("mttbu %0":: "r"(v))