powerpc/83xx: Fix build failure with FPU=n
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 6 Mar 2024 12:58:52 +0000 (23:58 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 7 Mar 2024 12:06:19 +0000 (23:06 +1100)
Building eg. 83xx/mpc832x_rdb_defconfig with FPU=n, fails with:

  arch/powerpc/platforms/83xx/suspend.c: In function 'mpc83xx_suspend_enter':
  arch/powerpc/platforms/83xx/suspend.c:209:17: error: implicit declaration of function 'enable_kernel_fp'
    209 |                 enable_kernel_fp();

Fix it by providing an enable_kernel_fp() stub for FPU=n builds,
which allows using IS_ENABLED(CONFIG_PPC_FPU) around the call to
enable_kernel_fp().

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240306125853.3714578-2-mpe@ellerman.id.au
arch/powerpc/include/asm/switch_to.h
arch/powerpc/platforms/83xx/suspend.c

index aee25e3ebf96017a108fefa46ab95761901ccabc..fc933807ddc840ffa065fcbf3153b87d3357efbc 100644 (file)
@@ -48,6 +48,10 @@ static inline void disable_kernel_fp(void)
 #else
 static inline void save_fpu(struct task_struct *t) { }
 static inline void flush_fp_to_thread(struct task_struct *t) { }
+static inline void enable_kernel_fp(void)
+{
+       BUILD_BUG();
+}
 #endif
 
 #ifdef CONFIG_ALTIVEC
index c9664e46b03d701901107870db4ddc612b381c72..99bd4355f28e60a209c4c3c1367c599ec3295842 100644 (file)
@@ -206,7 +206,8 @@ static int mpc83xx_suspend_enter(suspend_state_t state)
                out_be32(&pmc_regs->config1,
                         in_be32(&pmc_regs->config1) | PMCCR1_POWER_OFF);
 
-               enable_kernel_fp();
+               if (IS_ENABLED(CONFIG_PPC_FPU))
+                       enable_kernel_fp();
 
                mpc83xx_enter_deep_sleep(immrbase);