On Thu, Jan 06, 2022 at 03:43:06PM +0800, Huang Rui wrote: > The init_freq_invariance_cppc function is implemented in smpboot and depends on > CONFIG_SMP. > > MODPOST vmlinux.symvers > MODINFO modules.builtin.modinfo > GEN modules.builtin > LD .tmp_vmlinux.kallsyms1 > ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe': > /home/ray/brahma3/linux/drivers/acpi/cppc_acpi.c:819: undefined reference to `init_freq_invariance_cppc' > make: *** [Makefile:1161: vmlinux] Error 1 > > See https://lore.kernel.org/lkml/484af487-7511-647e-5c5b-33d4429acdec@xxxxxxxxxxxxx/. > > Fixes: 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD systems") > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Signed-off-by: Huang Rui <ray.huang@xxxxxxx> > Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > Cc: Borislav Petkov <bp@xxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: x86@xxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx > --- > arch/x86/include/asm/topology.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index cc164777e661..2f0b6be8eaab 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -221,7 +221,7 @@ static inline void arch_set_max_freq_ratio(bool turbo_disabled) > } > #endif > > -#ifdef CONFIG_ACPI_CPPC_LIB > +#if defined(CONFIG_ACPI_CPPC_LIB) && defined(CONFIG_SMP) > void init_freq_invariance_cppc(void); > #define init_freq_invariance_cppc init_freq_invariance_cppc > #endif > -- Well, since that function is in smpboot.c then the logic should be that CPPC depends on functionality in smpboot.c for proper operation. IOW, ACPI_CPPC_LIB should have "depends on CONFIG_SMP" in Kconfig, no? Instead of adding more ifdeffery around... -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette