powerpc/64e: Fix circular dependency with CONFIG_SMP disabled
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Tue, 22 Aug 2023 06:07:50 +0000 (08:07 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 23 Aug 2023 05:55:21 +0000 (15:55 +1000)
asm/percpu.h includes asm/paca.h which needs struct tlb_core_data
which is defined in mmu-e500.h

asm/percpu.h is included from asm/mmu.h in a #ifdef CONFIG_E500
before the inclusion of mmu-e500.h

To fix that, move the inclusion of asm/percpu.h into mmu-e500.h
after the definition of struct tlb_core_data

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308220708.nRf5AUAe-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308220857.uFq2oAxM-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308221055.lw3UzJIL-lkp@intel.com/
Fixes: 3a24ea0df83e ("powerpc/kuap: Use ASM feature fixups instead of static branches")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/5e0f97d5cbcd05238b56b4424ab096468296824d.1692684461.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/mmu.h
arch/powerpc/include/asm/nohash/mmu-e500.h

index 82af2e2c5eca7704af5cf272296111986b3abede..52cc25864a1be230796d9b954b99d5ec0f721d96 100644 (file)
 
 typedef pte_t *pgtable_t;
 
-#ifdef CONFIG_PPC_E500
-#include <asm/percpu.h>
-DECLARE_PER_CPU(int, next_tlbcam_idx);
-#endif
-
 enum {
        MMU_FTRS_POSSIBLE =
 #if defined(CONFIG_PPC_BOOK3S_604)
index e43a418d3ccd0c38b9d8e5e4209b8cd82a580808..6ddced0415cb5cda95b70eeeb2b6ed821a17fed0 100644 (file)
@@ -319,6 +319,9 @@ extern int book3e_htw_mode;
 
 #endif
 
+#include <asm/percpu.h>
+DECLARE_PER_CPU(int, next_tlbcam_idx);
+
 #endif /* !__ASSEMBLY__ */
 
 #endif /* _ASM_POWERPC_MMU_BOOK3E_H_ */