mips: fix Section mismatch in reference
authorAnders Roxell <anders.roxell@linaro.org>
Fri, 27 Nov 2020 08:39:43 +0000 (09:39 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 14 Dec 2020 15:39:42 +0000 (16:39 +0100)
When building mips tinyconfig with clang the following error show up:

WARNING: modpost: vmlinux.o(.text+0x1940c): Section mismatch in reference from the function r4k_cache_init() to the function .init.text:loongson3_sc_init()
The function r4k_cache_init() references
the function __init loongson3_sc_init().
This is often because r4k_cache_init lacks a __init
annotation or the annotation of loongson3_sc_init is wrong.

Remove marked __init from function loongson3_sc_init(),
mips_sc_probe_cm3(), and mips_sc_probe().

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/mm/c-r4k.c
arch/mips/mm/sc-mips.c

index 9952176..4f976d6 100644 (file)
@@ -1609,7 +1609,7 @@ static void __init loongson2_sc_init(void)
        c->options |= MIPS_CPU_INCLUSIVE_CACHES;
 }
 
-static void __init loongson3_sc_init(void)
+static void loongson3_sc_init(void)
 {
        struct cpuinfo_mips *c = &current_cpu_data;
        unsigned int config2, lsize;
index dd0a5be..06ec304 100644 (file)
@@ -146,7 +146,7 @@ static inline int mips_sc_is_activated(struct cpuinfo_mips *c)
        return 1;
 }
 
-static int __init mips_sc_probe_cm3(void)
+static int mips_sc_probe_cm3(void)
 {
        struct cpuinfo_mips *c = &current_cpu_data;
        unsigned long cfg = read_gcr_l2_config();
@@ -180,7 +180,7 @@ static int __init mips_sc_probe_cm3(void)
        return 0;
 }
 
-static inline int __init mips_sc_probe(void)
+static inline int mips_sc_probe(void)
 {
        struct cpuinfo_mips *c = &current_cpu_data;
        unsigned int config1, config2;