| From 8db45b11f06e81dfaaf7866fea5cfb3444bfac89 Mon Sep 17 00:00:00 2001 |
| From: Guo Ren <guoren@linux.alibaba.com> |
| Date: Wed, 26 Feb 2020 10:23:26 +0800 |
| Subject: [PATCH] csky: Fixup init_fpu compile warning with __init |
| |
| commit 12879bda3c2a974b7e4fe199a9c21f0c5f6bca04 upstream. |
| |
| WARNING: vmlinux.o(.text+0x2366): Section mismatch in reference from the |
| function csky_start_secondary() to the function .init.text:init_fpu() |
| |
| The function csky_start_secondary() references |
| the function __init init_fpu(). |
| This is often because csky_start_secondary lacks a __init |
| annotation or the annotation of init_fpu is wrong. |
| |
| Reported-by: Lu Chongzhi <chongzhi.lcz@alibaba-inc.com> |
| Signed-off-by: Guo Ren <guoren@linux.alibaba.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/csky/abiv2/fpu.c b/arch/csky/abiv2/fpu.c |
| index e7e11344005a..ff92bf4af7df 100644 |
| --- a/arch/csky/abiv2/fpu.c |
| +++ b/arch/csky/abiv2/fpu.c |
| @@ -10,11 +10,6 @@ |
| #define MTCR_DIST 0xC0006420 |
| #define MFCR_DIST 0xC0006020 |
| |
| -void __init init_fpu(void) |
| -{ |
| - mtcr("cr<1, 2>", 0); |
| -} |
| - |
| /* |
| * fpu_libc_helper() is to help libc to excute: |
| * - mfcr %a, cr<1, 2> |
| diff --git a/arch/csky/abiv2/inc/abi/fpu.h b/arch/csky/abiv2/inc/abi/fpu.h |
| index 22ca3cf2794a..09e2700a3693 100644 |
| --- a/arch/csky/abiv2/inc/abi/fpu.h |
| +++ b/arch/csky/abiv2/inc/abi/fpu.h |
| @@ -9,7 +9,8 @@ |
| |
| int fpu_libc_helper(struct pt_regs *regs); |
| void fpu_fpe(struct pt_regs *regs); |
| -void __init init_fpu(void); |
| + |
| +static inline void init_fpu(void) { mtcr("cr<1, 2>", 0); } |
| |
| void save_to_user_fp(struct user_fp *user_fp); |
| void restore_from_user_fp(struct user_fp *user_fp); |
| diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c |
| index 0ac7fbf19a63..609123c975c1 100644 |
| --- a/arch/csky/kernel/smp.c |
| +++ b/arch/csky/kernel/smp.c |
| @@ -22,6 +22,9 @@ |
| #include <asm/sections.h> |
| #include <asm/mmu_context.h> |
| #include <asm/pgalloc.h> |
| +#ifdef CONFIG_CPU_HAS_FPU |
| +#include <abi/fpu.h> |
| +#endif |
| |
| struct ipi_data_struct { |
| unsigned long bits ____cacheline_aligned; |
| -- |
| 2.7.4 |
| |