Michal Suchanek 42562a
From 4abe60c6448bf1dba48689450ad1348e5fc6f7b7 Mon Sep 17 00:00:00 2001
Michal Suchanek 42562a
From: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 42562a
Date: Fri, 12 Jun 2020 00:12:36 -0500
Michal Suchanek 42562a
Subject: [PATCH] powerpc/pseries: remove memory "re-add" implementation
Michal Suchanek 42562a
Michal Suchanek 42562a
References: bsc#1181674 ltc#189159
Michal Suchanek 42562a
Patch-mainline: v5.9-rc1
Michal Suchanek 42562a
Git-commit: 4abe60c6448bf1dba48689450ad1348e5fc6f7b7
Michal Suchanek 42562a
Michal Suchanek 42562a
dlpar_memory() no longer has any callers which pass
Michal Suchanek 42562a
PSERIES_HP_ELOG_ACTION_READD. Remove this case and the corresponding
Michal Suchanek 42562a
unreachable code.
Michal Suchanek 42562a
Michal Suchanek 42562a
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 42562a
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek 42562a
Link: https://lore.kernel.org/r/20200612051238.1007764-17-nathanl@linux.ibm.com
Michal Suchanek 42562a
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek 42562a
---
Michal Suchanek 42562a
 arch/powerpc/include/asm/rtas.h               |  1 -
Michal Suchanek 42562a
 .../platforms/pseries/hotplug-memory.c        | 42 -------------------
Michal Suchanek 42562a
 2 files changed, 43 deletions(-)
Michal Suchanek 42562a
Michal Suchanek 42562a
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h
Michal Suchanek 42562a
index 0107d724e9da..55f9a154c95d 100644
Michal Suchanek 42562a
--- a/arch/powerpc/include/asm/rtas.h
Michal Suchanek 42562a
+++ b/arch/powerpc/include/asm/rtas.h
Michal Suchanek 42562a
@@ -215,7 +215,6 @@ inline uint16_t pseries_errorlog_length(struct pseries_errorlog *sect)
Michal Suchanek 42562a
 
Michal Suchanek 42562a
 #define PSERIES_HP_ELOG_ACTION_ADD	1
Michal Suchanek 42562a
 #define PSERIES_HP_ELOG_ACTION_REMOVE	2
Michal Suchanek 42562a
-#define PSERIES_HP_ELOG_ACTION_READD	3
Michal Suchanek 42562a
 
Michal Suchanek 42562a
 #define PSERIES_HP_ELOG_ID_DRC_NAME	1
Michal Suchanek 42562a
 #define PSERIES_HP_ELOG_ID_DRC_INDEX	2
Michal Suchanek 42562a
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
Michal Suchanek 42562a
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
Michal Suchanek 42562a
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
Michal Suchanek 42562a
@@ -487,40 +487,6 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
Michal Suchanek 42562a
 	return rc;
Michal Suchanek 42562a
 }
Michal Suchanek 42562a
 
Michal Suchanek 42562a
-static int dlpar_memory_readd_by_index(u32 drc_index)
Michal Suchanek 42562a
-{
Michal Suchanek 42562a
-	struct drmem_lmb *lmb;
Michal Suchanek 42562a
-	int lmb_found;
Michal Suchanek 42562a
-	int rc;
Michal Suchanek 42562a
-
Michal Suchanek 42562a
-	pr_info("Attempting to update LMB, drc index %x\n", drc_index);
Michal Suchanek 42562a
-
Michal Suchanek 42562a
-	lmb_found = 0;
Michal Suchanek 42562a
-	for_each_drmem_lmb(lmb) {
Michal Suchanek 42562a
-		if (lmb->drc_index == drc_index) {
Michal Suchanek 42562a
-			lmb_found = 1;
Michal Suchanek 42562a
-			rc = dlpar_remove_lmb(lmb);
Michal Suchanek 42562a
-			if (!rc) {
Michal Suchanek 42562a
-				rc = dlpar_add_lmb(lmb);
Michal Suchanek 42562a
-				if (rc)
Michal Suchanek 42562a
-					dlpar_release_drc(lmb->drc_index);
Michal Suchanek 42562a
-			}
Michal Suchanek 42562a
-			break;
Michal Suchanek 42562a
-		}
Michal Suchanek 42562a
-	}
Michal Suchanek 42562a
-
Michal Suchanek 42562a
-	if (!lmb_found)
Michal Suchanek 42562a
-		rc = -EINVAL;
Michal Suchanek 42562a
-
Michal Suchanek 42562a
-	if (rc)
Michal Suchanek 42562a
-		pr_info("Failed to update memory at %llx\n",
Michal Suchanek 42562a
-			lmb->base_addr);
Michal Suchanek 42562a
-	else
Michal Suchanek 42562a
-		pr_info("Memory at %llx was updated\n", lmb->base_addr);
Michal Suchanek 42562a
-
Michal Suchanek 42562a
-	return rc;
Michal Suchanek 42562a
-}
Michal Suchanek 42562a
-
Michal Suchanek 42562a
 static int dlpar_memory_remove_by_ic(u32 lmbs_to_remove, u32 drc_index)
Michal Suchanek 42562a
 {
Michal Suchanek 42562a
 	struct drmem_lmb *lmb, *start_lmb, *end_lmb;
Michal Suchanek 42562a
@@ -617,10 +583,6 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
Michal Suchanek 42562a
 {
Michal Suchanek 42562a
 	return -EOPNOTSUPP;
Michal Suchanek 42562a
 }
Michal Suchanek 42562a
-static int dlpar_memory_readd_by_index(u32 drc_index)
Michal Suchanek 42562a
-{
Michal Suchanek 42562a
-	return -EOPNOTSUPP;
Michal Suchanek 42562a
-}
Michal Suchanek 42562a
 
Michal Suchanek 42562a
 static int dlpar_memory_remove_by_ic(u32 lmbs_to_remove, u32 drc_index)
Michal Suchanek 42562a
 {
Michal Suchanek 42562a
@@ -902,10 +864,6 @@ int dlpar_memory(struct pseries_hp_errorlog *hp_elog)
Michal Suchanek 42562a
 			rc = -EINVAL;
Michal Suchanek 42562a
 		}
Michal Suchanek 42562a
 
Michal Suchanek 42562a
-		break;
Michal Suchanek 42562a
-	case PSERIES_HP_ELOG_ACTION_READD:
Michal Suchanek 42562a
-		drc_index = hp_elog->_drc_u.drc_index;
Michal Suchanek 42562a
-		rc = dlpar_memory_readd_by_index(drc_index);
Michal Suchanek 42562a
 		break;
Michal Suchanek 42562a
 	default:
Michal Suchanek 42562a
 		pr_err("Invalid action (%d) specified\n", hp_elog->action);
Michal Suchanek 42562a
-- 
Michal Suchanek 42562a
2.26.2
Michal Suchanek 42562a