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

From: Qais Yousef
Date: Sun Feb 23 2020 - 14:30:35 EST


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 <davem@xxxxxxxxxxxxx>
Signed-off-by: Qais Yousef <qais.yousef@xxxxxxx>
CC: "David S. Miller" <davem@xxxxxxxxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
CC: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
CC: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
CC: sparclinux@xxxxxxxxxxxxxxx
CC: linux-kernel@xxxxxxxxxxxxxxx
---

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