On Thu, Aug 13, 2020 at 10:12:00AM +0000, Christophe Leroy wrote: > -#ifndef CONFIG_PPC_8xx > +#if !defined(CONFIG_PPC_8xx) && !defined(CONFIG_PPC_BOOK3S_32) > _GLOBAL(flush_instruction_cache) > #if defined(CONFIG_4xx) > lis r3, KERNELBASE@h > @@ -290,18 +289,11 @@ _GLOBAL(flush_instruction_cache) > mfspr r3,SPRN_L1CSR1 > ori r3,r3,L1CSR1_ICFI|L1CSR1_ICLFR > mtspr SPRN_L1CSR1,r3 > -#elif defined(CONFIG_PPC_BOOK3S_601) > - blr /* for 601, do nothing */ > -#else > - /* 603/604 processor - use invalidate-all bit in HID0 */ > - mfspr r3,SPRN_HID0 > - ori r3,r3,HID0_ICFI > - mtspr SPRN_HID0,r3 > #endif /* CONFIG_4xx */ > isync > blr > EXPORT_SYMBOL(flush_instruction_cache) > -#endif /* CONFIG_PPC_8xx */ > +#endif /* CONFIG_PPC_8xx || CONFIG_PPC_BOOK3S_32 */
What about untangling this into entirely separate versions instead of the ifdef mess? Also the export does not seem to be needed at all.