The core device API performs extra housekeeping bits that are missing from directly calling cpu_up/down.
See commit a6717c01ddc2 ("powerpc/rtas: use device model APIs and serialization during LPM") for an example description of what might go wrong. This also prepares to make cpu_up/down a private interface for anything but the cpu subsystem. Acked-by: Michael Ellerman <m...@ellerman.id.au> Signed-off-by: Qais Yousef <qais.you...@arm.com> CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> CC: Paul Mackerras <pau...@samba.org> CC: Michael Ellerman <m...@ellerman.id.au> CC: Enrico Weigelt <i...@metux.net> CC: Ram Pai <linux...@us.ibm.com> CC: Nicholas Piggin <npig...@gmail.com> CC: Thiago Jung Bauermann <bauer...@linux.ibm.com> CC: Christophe Leroy <christophe.le...@c-s.fr> CC: Thomas Gleixner <t...@linutronix.de> CC: linuxppc-dev@lists.ozlabs.org CC: linux-ker...@vger.kernel.org --- arch/powerpc/kexec/core_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kexec/core_64.c b/arch/powerpc/kexec/core_64.c index 04a7cba58eff..b4184092172a 100644 --- a/arch/powerpc/kexec/core_64.c +++ b/arch/powerpc/kexec/core_64.c @@ -212,7 +212,7 @@ static void wake_offline_cpus(void) if (!cpu_online(cpu)) { printk(KERN_INFO "kexec: Waking offline cpu %d.\n", cpu); - WARN_ON(cpu_up(cpu)); + WARN_ON(add_cpu(cpu)); } } } -- 2.17.1