|
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 |
|