2020-02-23 19:31:14

by Qais Yousef

[permalink] [raw]
Subject: [PATCH v3 09/15] sparc: Replace cpu_up/down with add/remove_cpu

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: David S. Miller <[email protected]>
Signed-off-by: Qais Yousef <[email protected]>
CC: "David S. Miller" <[email protected]>
CC: Thomas Gleixner <[email protected]>
CC: Bjorn Helgaas <[email protected]>
CC: "Rafael J. Wysocki" <[email protected]>
CC: Greg Kroah-Hartman <[email protected]>
CC: Sakari Ailus <[email protected]>
CC: [email protected]
CC: [email protected]
---

David, this now uses add/remove_cpu() which you should be CCed on. I wasn't
sure if I can keep your Ack or remove it in this case. Please let me know if
you need more clarification.

arch/sparc/kernel/ds.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index bbf59b3b4af8..75232cbd58bf 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -555,7 +555,7 @@ static int dr_cpu_configure(struct ds_info *dp, struct ds_cap_state *cp,

printk(KERN_INFO "ds-%llu: Starting cpu %d...\n",
dp->id, cpu);
- err = cpu_up(cpu);
+ err = add_cpu(cpu);
if (err) {
__u32 res = DR_CPU_RES_FAILURE;
__u32 stat = DR_CPU_STAT_UNCONFIGURED;
@@ -611,7 +611,7 @@ static int dr_cpu_unconfigure(struct ds_info *dp,

printk(KERN_INFO "ds-%llu: Shutting down cpu %d...\n",
dp->id, cpu);
- err = cpu_down(cpu);
+ err = remove_cpu(cpu);
if (err)
dr_cpu_mark(resp, cpu, ncpus,
DR_CPU_RES_FAILURE,
--
2.17.1