@@ -407,6 +407,20 @@ void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog,
}
}
+int dlpar_queue_action(int resource, int action, u32 drc_index)
+{
+ struct pseries_hp_errorlog hp_elog;
+
+ hp_elog.resource = resource;
+ hp_elog.action = action;
+ hp_elog.id_type = PSERIES_HP_ELOG_ID_DRC_INDEX;
+ hp_elog._drc_u.drc_index = cpu_to_be32(drc_index);
+
+ queue_hotplug_event(&hp_elog, NULL, NULL);
+
+ return 0;
+}
+
static int dlpar_parse_resource(char **cmd, struct pseries_hp_errorlog *hp_elog)
{
char *arg;
@@ -61,6 +61,7 @@ extern struct device_node *dlpar_configure_connector(__be32,
void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog,
struct completion *hotplug_done, int *rc);
+extern int dlpar_queue_action(int resource, int action, u32 drc_index);
#ifdef CONFIG_MEMORY_HOTPLUG
int dlpar_memory(struct pseries_hp_errorlog *hp_elog);
#else
migration/dlpar: This patch adds function dlpar_queue_action() which will queue a worker function to invoke an operation according to resource type, action code, and DRC index. Initial usage is for the 'readd' CPU and Memory blocks identified as having changed their associativity during a migration event. Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com> --- Changes in RFC: -- Correct drc_index for dlpar_queue_action worker invocation -- Correct text of notice --- arch/powerpc/platforms/pseries/dlpar.c | 14 ++++++++++++++ arch/powerpc/platforms/pseries/pseries.h | 1 + 2 files changed, 15 insertions(+)