static int pseries_memory_notifier(struct notifier_block *nb, unsigned long action, void *data) { struct of_reconfig_data *rd = data; int err = 0; switch (action) { case OF_RECONFIG_ATTACH_NODE: err = pseries_add_mem_node(rd->dn); break; case OF_RECONFIG_DETACH_NODE: err = pseries_remove_mem_node(rd->dn); break; case OF_RECONFIG_UPDATE_PROPERTY: if (!strcmp(rd->prop->name, "ibm,dynamic-memory")) err = pseries_update_drconf_memory(rd); break; } return notifier_from_errno(err); }
static int pseries_memory_notifier(struct notifier_block *nb, unsigned long action, void *node) { struct of_prop_reconfig *pr; int err = 0; switch (action) { case OF_RECONFIG_ATTACH_NODE: err = pseries_add_memory(node); break; case OF_RECONFIG_DETACH_NODE: err = pseries_remove_memory(node); break; case OF_RECONFIG_UPDATE_PROPERTY: pr = (struct of_prop_reconfig *)node; if (!strcmp(pr->prop->name, "ibm,dynamic-memory")) err = pseries_update_drconf_memory(pr); break; } return notifier_from_errno(err); }