Michal Suchanek a9df38
From d102f8312e1ea5e8bf84fceebf99186f22d16fc6 Mon Sep 17 00:00:00 2001
Michal Suchanek a9df38
From: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek a9df38
Date: Mon, 7 Dec 2020 15:51:58 -0600
Michal Suchanek a9df38
Subject: [PATCH] powerpc/pseries/hibernation: remove prepare_late() callback
Michal Suchanek a9df38
Michal Suchanek a9df38
References: bsc#1181674 ltc#189159
Michal Suchanek a9df38
Patch-mainline: v5.11-rc1
Michal Suchanek a9df38
Git-commit: d102f8312e1ea5e8bf84fceebf99186f22d16fc6
Michal Suchanek a9df38
Michal Suchanek a9df38
The pseries hibernate code no longer calls into the original
Michal Suchanek a9df38
join/suspend code in kernel/rtas.c, so pseries_prepare_late() and
Michal Suchanek a9df38
related code don't accomplish anything now.
Michal Suchanek a9df38
Michal Suchanek a9df38
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek a9df38
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek a9df38
Link: https://lore.kernel.org/r/20201207215200.1785968-27-nathanl@linux.ibm.com
Michal Suchanek a9df38
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek a9df38
---
Michal Suchanek a9df38
 arch/powerpc/platforms/pseries/suspend.c | 25 ------------------------
Michal Suchanek a9df38
 1 file changed, 25 deletions(-)
Michal Suchanek a9df38
Michal Suchanek a9df38
diff --git a/arch/powerpc/platforms/pseries/suspend.c b/arch/powerpc/platforms/pseries/suspend.c
Michal Suchanek a9df38
index 589a91730db8..1b902cbf85c5 100644
Michal Suchanek a9df38
--- a/arch/powerpc/platforms/pseries/suspend.c
Michal Suchanek a9df38
+++ b/arch/powerpc/platforms/pseries/suspend.c
Michal Suchanek a9df38
@@ -15,9 +15,6 @@
Michal Suchanek a9df38
 #include <asm/topology.h>
Michal Suchanek a9df38
 
Michal Suchanek a9df38
 static struct device suspend_dev;
Michal Suchanek a9df38
-static DECLARE_COMPLETION(suspend_work);
Michal Suchanek a9df38
-static struct rtas_suspend_me_data suspend_data;
Michal Suchanek a9df38
-static atomic_t suspending;
Michal Suchanek a9df38
 
Michal Suchanek a9df38
 /**
Michal Suchanek a9df38
  * pseries_suspend_begin - First phase of hibernation
Michal Suchanek a9df38
@@ -61,23 +58,6 @@ static int pseries_suspend_enter(suspend_state_t state)
Michal Suchanek a9df38
 	return rtas_ibm_suspend_me(NULL);
Michal Suchanek a9df38
 }
Michal Suchanek a9df38
 
Michal Suchanek a9df38
-/**
Michal Suchanek a9df38
- * pseries_prepare_late - Prepare to suspend all other CPUs
Michal Suchanek a9df38
- *
Michal Suchanek a9df38
- * Return value:
Michal Suchanek a9df38
- * 	0 on success / other on failure
Michal Suchanek a9df38
- **/
Michal Suchanek a9df38
-static int pseries_prepare_late(void)
Michal Suchanek a9df38
-{
Michal Suchanek a9df38
-	atomic_set(&suspending, 1);
Michal Suchanek a9df38
-	atomic_set(&suspend_data.working, 0);
Michal Suchanek a9df38
-	atomic_set(&suspend_data.done, 0);
Michal Suchanek a9df38
-	atomic_set(&suspend_data.error, 0);
Michal Suchanek a9df38
-	suspend_data.complete = &suspend_work;
Michal Suchanek a9df38
-	reinit_completion(&suspend_work);
Michal Suchanek a9df38
-	return 0;
Michal Suchanek a9df38
-}
Michal Suchanek a9df38
-
Michal Suchanek a9df38
 /**
Michal Suchanek a9df38
  * store_hibernate - Initiate partition hibernation
Michal Suchanek a9df38
  * @dev:		subsys root device
Michal Suchanek a9df38
@@ -152,7 +132,6 @@ static struct bus_type suspend_subsys = {
Michal Suchanek a9df38
 
Michal Suchanek a9df38
 static const struct platform_suspend_ops pseries_suspend_ops = {
Michal Suchanek a9df38
 	.valid		= suspend_valid_only_mem,
Michal Suchanek a9df38
-	.prepare_late	= pseries_prepare_late,
Michal Suchanek a9df38
 	.enter		= pseries_suspend_enter,
Michal Suchanek a9df38
 };
Michal Suchanek a9df38
 
Michal Suchanek a9df38
@@ -195,10 +174,6 @@ static int __init pseries_suspend_init(void)
Michal Suchanek a9df38
 	if (!firmware_has_feature(FW_FEATURE_LPAR))
Michal Suchanek a9df38
 		return 0;
Michal Suchanek a9df38
 
Michal Suchanek a9df38
-	suspend_data.token = rtas_token("ibm,suspend-me");
Michal Suchanek a9df38
-	if (suspend_data.token == RTAS_UNKNOWN_SERVICE)
Michal Suchanek a9df38
-		return 0;
Michal Suchanek a9df38
-
Michal Suchanek a9df38
 	if ((rc = pseries_suspend_sysfs_register(&suspend_dev)))
Michal Suchanek a9df38
 		return rc;
Michal Suchanek a9df38
 
Michal Suchanek a9df38
-- 
Michal Suchanek a9df38
2.26.2
Michal Suchanek a9df38