aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/mm/cache.c
diff options
context:
space:
mode:
authorArnd Bergmann <[email protected]>2023-12-14 20:54:47 +0000
committerAndrew Morton <[email protected]>2023-12-20 15:02:57 -0800
commitbbe4f634f48cd832aa43e7f5a4edc7494ef7ff5f (patch)
tree624ba663af14a2b9bcb65c74ae8b764dd3099cc6 /arch/mips/mm/cache.c
parentfc0fbad122a7609d785ee754c2b6e1e3265547d0 (diff)
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: 66445677f01e ("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]>
Diffstat (limited to 'arch/mips/mm/cache.c')
-rw-r--r--arch/mips/mm/cache.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index e5d19f4a38ba..df1ced4fc3b5 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -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();
}