powerpc/32s: drop CPU_FTR_USE_RTC feature
authorChristophe Leroy <christophe.leroy@c-s.fr>
Mon, 26 Aug 2019 15:52:16 +0000 (15:52 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 28 Aug 2019 13:19:33 +0000 (23:19 +1000)
CPU_FTR_USE_RTC feature only applies to powerpc601.

Drop this feature and replace it with tests on CONFIG_PPC_BOOK3S_601.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/170411e2360861f4a95c21faad43519a08bc4040.1566834712.git.christophe.leroy@c-s.fr
arch/powerpc/include/asm/cputable.h
arch/powerpc/include/asm/time.h
arch/powerpc/kernel/vdso.c
arch/powerpc/kernel/vdso32/datapage.S
arch/powerpc/kernel/vdso32/vdso32.lds.S

index 0aad095896d6a25605ca165aec6453d1c30631a2..fac1b81bbbd98918a3ca961d42b20877c1aab687 100644 (file)
@@ -149,7 +149,6 @@ static inline void cpu_feature_keys_init(void) { }
 #define CPU_FTR_SPEC7450               ASM_CONST(0x00004000)
 #define CPU_FTR_TAU                    ASM_CONST(0x00008000)
 #define CPU_FTR_CAN_DOZE               ASM_CONST(0x00010000)
-#define CPU_FTR_USE_RTC                        ASM_CONST(0x00020000)
 #define CPU_FTR_L3CR                   ASM_CONST(0x00040000)
 #define CPU_FTR_L3_DISABLE_NAP         ASM_CONST(0x00080000)
 #define CPU_FTR_NAP_DISABLE_L2_PR      ASM_CONST(0x00100000)
@@ -293,7 +292,7 @@ static inline void cpu_feature_keys_init(void) { }
 #endif
 
 #define CPU_FTRS_PPC601        (CPU_FTR_COMMON | \
-       CPU_FTR_COHERENT_ICACHE | CPU_FTR_UNIFIED_ID_CACHE | CPU_FTR_USE_RTC)
+       CPU_FTR_COHERENT_ICACHE | CPU_FTR_UNIFIED_ID_CACHE)
 #define CPU_FTRS_603   (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | \
            CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_PPC_LE | CPU_FTR_NOEXECUTE)
 #define CPU_FTRS_604   (CPU_FTR_COMMON | CPU_FTR_PPC_LE)
index 54f4ec1f9fab81a41b7861dbcbdf3d757862881b..08dbe3e6831c53cacd10dead0b3220f9b8b37321 100644 (file)
@@ -41,11 +41,7 @@ struct div_result {
 
 /* Accessor functions for the timebase (RTC on 601) registers. */
 /* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
-#ifdef CONFIG_PPC_BOOK3S_32
-#define __USE_RTC()    (cpu_has_feature(CPU_FTR_USE_RTC))
-#else
-#define __USE_RTC()    0
-#endif
+#define __USE_RTC()    (IS_ENABLED(CONFIG_PPC_BOOK3S_601))
 
 #ifdef CONFIG_PPC64
 
index d60598113a9f3d1275d2aed42a3e58478433b8c6..eae9ddaecbcf46d3c9d2a13ba3e159e733de6303 100644 (file)
@@ -94,28 +94,6 @@ static struct vdso_patch_def vdso_patches[] = {
                CPU_FTR_COHERENT_ICACHE, CPU_FTR_COHERENT_ICACHE,
                "__kernel_sync_dicache", "__kernel_sync_dicache_p5"
        },
-#ifdef CONFIG_PPC32
-       {
-               CPU_FTR_USE_RTC, CPU_FTR_USE_RTC,
-               "__kernel_gettimeofday", NULL
-       },
-       {
-               CPU_FTR_USE_RTC, CPU_FTR_USE_RTC,
-               "__kernel_clock_gettime", NULL
-       },
-       {
-               CPU_FTR_USE_RTC, CPU_FTR_USE_RTC,
-               "__kernel_clock_getres", NULL
-       },
-       {
-               CPU_FTR_USE_RTC, CPU_FTR_USE_RTC,
-               "__kernel_get_tbfreq", NULL
-       },
-       {
-               CPU_FTR_USE_RTC, CPU_FTR_USE_RTC,
-               "__kernel_time", NULL
-       },
-#endif
 };
 
 /*
index 6984125b9fc092e9c716cbd781fb1663c43cdede..6c7401bd284e7da4db9b03300f2b0bb3fe6bf572 100644 (file)
@@ -70,6 +70,7 @@ V_FUNCTION_END(__kernel_get_syscall_map)
  *
  * returns the timebase frequency in HZ
  */
+#ifndef CONFIG_PPC_BOOK3S_601
 V_FUNCTION_BEGIN(__kernel_get_tbfreq)
   .cfi_startproc
        mflr    r12
@@ -82,3 +83,4 @@ V_FUNCTION_BEGIN(__kernel_get_tbfreq)
        blr
   .cfi_endproc
 V_FUNCTION_END(__kernel_get_tbfreq)
+#endif
index 099a6db14e671f81ba3d9c5c07c550d8a544454d..00c025ba4a92b4ab0516be84665e783b8afc4033 100644 (file)
@@ -144,10 +144,13 @@ VERSION
                __kernel_datapage_offset;
 
                __kernel_get_syscall_map;
+#ifndef CONFIG_PPC_BOOK3S_601
                __kernel_gettimeofday;
                __kernel_clock_gettime;
                __kernel_clock_getres;
+               __kernel_time;
                __kernel_get_tbfreq;
+#endif
                __kernel_sync_dicache;
                __kernel_sync_dicache_p5;
                __kernel_sigtramp32;
@@ -155,7 +158,6 @@ VERSION
 #ifdef CONFIG_PPC64
                __kernel_getcpu;
 #endif
-               __kernel_time;
 
        local: *;
        };