2019-11-25 12:28:12

by Qais Yousef

[permalink] [raw]
Subject: [PATCH v2 08/14] parisc: Replace cpu_up/down with device_online/offline

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: Helge Deller <[email protected]>
Signed-off-by: Qais Yousef <[email protected]>
CC: "James E.J. Bottomley" <[email protected]>
CC: Helge Deller <[email protected]>
CC: Richard Fontana <[email protected]>
CC: Armijn Hemel <[email protected]>
CC: Greg Kroah-Hartman <[email protected]>
CC: Thomas Gleixner <[email protected]>
CC: [email protected]
CC: [email protected]
---
arch/parisc/kernel/processor.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c
index 13f771f74ee3..4dde5fe78f0c 100644
--- a/arch/parisc/kernel/processor.c
+++ b/arch/parisc/kernel/processor.c
@@ -212,7 +212,9 @@ static int __init processor_probe(struct parisc_device *dev)
#ifdef CONFIG_SMP
if (cpuid) {
set_cpu_present(cpuid, true);
- cpu_up(cpuid);
+ lock_device_hotplug();
+ device_online(get_cpu_device(cpuid));
+ unlock_device_hotplug();
}
#endif

--
2.17.1