xen/cpuhotplug: Replace cpu_up/down() with device_online/offline()
authorQais Yousef <qais.yousef@arm.com>
Mon, 23 Mar 2020 13:51:06 +0000 (13:51 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 25 Mar 2020 11:59:36 +0000 (12:59 +0100)
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 of the cpu
subsystem.

Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lkml.kernel.org/r/20200323135110.30522-14-qais.yousef@arm.com
drivers/xen/cpu_hotplug.c

index f192b6f42da9f7eb856c34f2baac0a6a7a4c4c45..ec975decb5def48fd163af76f7560e9cb6ff2b5f 100644 (file)
@@ -94,7 +94,7 @@ static int setup_cpu_watcher(struct notifier_block *notifier,
 
        for_each_possible_cpu(cpu) {
                if (vcpu_online(cpu) == 0) {
-                       (void)cpu_down(cpu);
+                       device_offline(get_cpu_device(cpu));
                        set_cpu_present(cpu, false);
                }
        }