Michal Suchanek 231373
From 1b2488176ea56e299d2b084772daeb5ecbfc16d1 Mon Sep 17 00:00:00 2001
Michal Suchanek 231373
From: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 231373
Date: Mon, 7 Dec 2020 15:51:55 -0600
Michal Suchanek 231373
Subject: [PATCH] powerpc/rtas: remove unused rtas_suspend_last_cpu()
Michal Suchanek 231373
Michal Suchanek 231373
References: bsc#1181674 ltc#189159
Michal Suchanek 231373
Patch-mainline: v5.11-rc1
Michal Suchanek 231373
Git-commit: 1b2488176ea56e299d2b084772daeb5ecbfc16d1
Michal Suchanek 231373
Michal Suchanek 231373
rtas_suspend_last_cpu() is now unused, remove it and
Michal Suchanek 231373
__rtas_suspend_last_cpu() which also becomes unused.
Michal Suchanek 231373
Michal Suchanek 231373
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 231373
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek 231373
Link: https://lore.kernel.org/r/20201207215200.1785968-24-nathanl@linux.ibm.com
Michal Suchanek 231373
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek 231373
---
Michal Suchanek 231373
 arch/powerpc/include/asm/rtas.h |  1 -
Michal Suchanek 231373
 arch/powerpc/kernel/rtas.c      | 43 ---------------------------------
Michal Suchanek 231373
 2 files changed, 44 deletions(-)
Michal Suchanek 231373
Michal Suchanek 231373
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h
Michal Suchanek 231373
index 97ccb40fb09f..332e1000ca0f 100644
Michal Suchanek 231373
--- a/arch/powerpc/include/asm/rtas.h
Michal Suchanek 231373
+++ b/arch/powerpc/include/asm/rtas.h
Michal Suchanek 231373
@@ -256,7 +256,6 @@ extern bool rtas_indicator_present(int token, int *maxindex);
Michal Suchanek 231373
 extern int rtas_set_indicator(int indicator, int index, int new_value);
Michal Suchanek 231373
 extern int rtas_set_indicator_fast(int indicator, int index, int new_value);
Michal Suchanek 231373
 extern void rtas_progress(char *s, unsigned short hex);
Michal Suchanek 231373
-extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data);
Michal Suchanek 231373
 int rtas_ibm_suspend_me(int *fw_status);
Michal Suchanek 231373
 
Michal Suchanek 231373
 struct rtc_time;
Michal Suchanek 231373
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
Michal Suchanek 231373
--- a/arch/powerpc/kernel/rtas.c
Michal Suchanek 231373
+++ b/arch/powerpc/kernel/rtas.c
Michal Suchanek 231373
@@ -829,49 +829,6 @@ void rtas_activate_firmware(void)
Michal Suchanek 231373
 
Michal Suchanek 231373
 static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE;
Michal Suchanek 231373
 #ifdef CONFIG_PPC_PSERIES
Michal Suchanek 231373
-static int __rtas_suspend_last_cpu(struct rtas_suspend_me_data *data, int wake_when_done)
Michal Suchanek 231373
-{
Michal Suchanek 231373
-	u16 slb_size = mmu_slb_size;
Michal Suchanek 231373
-	int rc = H_MULTI_THREADS_ACTIVE;
Michal Suchanek 231373
-	int cpu;
Michal Suchanek 231373
-
Michal Suchanek 231373
-	slb_set_size(SLB_MIN_SIZE);
Michal Suchanek 231373
-	printk(KERN_DEBUG "calling ibm,suspend-me on cpu %i\n", smp_processor_id());
Michal Suchanek 231373
-
Michal Suchanek 231373
-	while (rc == H_MULTI_THREADS_ACTIVE && !atomic_read(&data->done) &&
Michal Suchanek 231373
-	       !atomic_read(&data->error))
Michal Suchanek 231373
-		rc = rtas_call(data->token, 0, 1, NULL);
Michal Suchanek 231373
-
Michal Suchanek 231373
-	if (rc || atomic_read(&data->error)) {
Michal Suchanek 231373
-		printk(KERN_DEBUG "ibm,suspend-me returned %d\n", rc);
Michal Suchanek 231373
-		slb_set_size(slb_size);
Michal Suchanek 231373
-	}
Michal Suchanek 231373
-
Michal Suchanek 231373
-	if (atomic_read(&data->error))
Michal Suchanek 231373
-		rc = atomic_read(&data->error);
Michal Suchanek 231373
-
Michal Suchanek 231373
-	atomic_set(&data->error, rc);
Michal Suchanek 231373
-	pSeries_coalesce_init();
Michal Suchanek 231373
-
Michal Suchanek 231373
-	if (wake_when_done) {
Michal Suchanek 231373
-		atomic_set(&data->done, 1);
Michal Suchanek 231373
-
Michal Suchanek 231373
-		for_each_online_cpu(cpu)
Michal Suchanek 231373
-			plpar_hcall_norets(H_PROD, get_hard_smp_processor_id(cpu));
Michal Suchanek 231373
-	}
Michal Suchanek 231373
-
Michal Suchanek 231373
-	if (atomic_dec_return(&data->working) == 0)
Michal Suchanek 231373
-		complete(data->complete);
Michal Suchanek 231373
-
Michal Suchanek 231373
-	return rc;
Michal Suchanek 231373
-}
Michal Suchanek 231373
-
Michal Suchanek 231373
-int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data)
Michal Suchanek 231373
-{
Michal Suchanek 231373
-	atomic_inc(&data->working);
Michal Suchanek 231373
-	return __rtas_suspend_last_cpu(data, 0);
Michal Suchanek 231373
-}
Michal Suchanek 231373
-
Michal Suchanek 231373
 #endif /* CONFIG_PPC_PSERIES */
Michal Suchanek 231373
 
Michal Suchanek 231373
 /**
Michal Suchanek 231373
-- 
Michal Suchanek 231373
2.26.2
Michal Suchanek 231373