Commit bbe4f634 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Andrew Morton
Browse files

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.

[akpm@linux-foundation.org: fix whitespace while we're in there]
Link: https://lkml.kernel.org/r/20231214205506.310402-1-arnd@kernel.org


Fixes: 66445677 ("mips: move cache declarations into header")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Reported-by: default avatarkernelci.org bot <bot@kernelci.org>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent fc0fbad1
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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();
}