ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 6 Apr 2021 15:56:40 +0000 (17:56 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 7 Apr 2021 17:02:43 +0000 (19:02 +0200)
commitfa26d0c778b432d3d9814ea82552e813b33eeb5c
tree39348f87174de17b37f636b285fc208dd5100516
parente49d033bddf5b565044e2abe4241353959bc9120
ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m

Commit 8cdddd182bd7 ("ACPI: processor: Fix CPU0 wakeup in
acpi_idle_play_dead()") tried to fix CPU0 hotplug breakage by copying
wakeup_cpu0() + start_cpu0() logic from hlt_play_dead()//mwait_play_dead()
into acpi_idle_play_dead(). The problem is that these functions are not
exported to modules so when CONFIG_ACPI_PROCESSOR=m build fails.

The issue could've been fixed by exporting both wakeup_cpu0()/start_cpu0()
(the later from assembly) but it seems putting the whole pattern into a
new function and exporting it instead is better.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 8cdddd182bd7 ("CPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead()")
Cc: <stable@vger.kernel.org> # 5.10+
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/include/asm/smp.h
arch/x86/kernel/smpboot.c
drivers/acpi/processor_idle.c