mips: fix r3k_cache_init build regression

My earlier patch removed __weak function declarations that used to be
turned into wild branches by the linker, instead causing a link failure
when the called functions are unavailable:

mips-linux-ld: arch/mips/mm/cache.o: in function `cpu_cache_init':
cache.c:(.text+0x670): undefined reference to `r3k_cache_init'

The __weak method seems suboptimal, so rather than putting that back, make
the function calls conditional on the Kconfig symbol that controls the
compilation.

[[email protected]: fix whitespace while we're in there]
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 66445677f0 ("mips: move cache declarations into header")
Signed-off-by: Arnd Bergmann <[email protected]>
Reported-by: kernelci.org bot <[email protected]>
Cc: Jiaxun Yang <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: Zi Yan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
This commit is contained in:
Arnd Bergmann authored and Andrew Morton committed 2023-12-20 15:02:57 -08:00
1 parent fc0fbad122
commit bbe4f634f4
1 file changed
+3 -6
+3 -6
View File
@@ -205,16 +205,13 @@ static inline void setup_protection_map(void)
void cpu_cache_init(void)
{
if (cpu_has_3k_cache) {
if (IS_ENABLED(CONFIG_CPU_R3000) && cpu_has_3k_cache)
r3k_cache_init();
}
if (cpu_has_4k_cache) {
if (IS_ENABLED(CONFIG_CPU_R4K_CACHE_TLB) && cpu_has_4k_cache)
r4k_cache_init();
}
if (cpu_has_octeon_cache) {
if (IS_ENABLED(CONFIG_CPU_CAVIUM_OCTEON) && cpu_has_octeon_cache)
octeon_cache_init();
}
setup_protection_map();
}