switch (action) {
        case PSERIES_RECONFIG_ADD:
                err = of_finish_dynamic_node(node);
-               if (err < 0) {
+               if (err < 0)
                        printk(KERN_ERR "finish_node returned %d\n", err);
-                       err = NOTIFY_BAD;
-               }
                break;
        default:
-               err = NOTIFY_DONE;
+               err = 0;
                break;
        }
-       return err;
+       return notifier_from_errno(err);
 }
 
 static struct notifier_block prom_reconfig_nb = {
 
 static int pseries_smp_notifier(struct notifier_block *nb,
                                unsigned long action, void *node)
 {
-       int err = NOTIFY_OK;
+       int err = 0;
 
        switch (action) {
        case PSERIES_RECONFIG_ADD:
-               if (pseries_add_processor(node))
-                       err = NOTIFY_BAD;
+               err = pseries_add_processor(node);
                break;
        case PSERIES_RECONFIG_REMOVE:
                pseries_remove_processor(node);
                break;
-       default:
-               err = NOTIFY_DONE;
-               break;
        }
-       return err;
+       return notifier_from_errno(err);
 }
 
 static struct notifier_block pseries_smp_nb = {
 
 static int pseries_memory_notifier(struct notifier_block *nb,
                                unsigned long action, void *node)
 {
-       int err = NOTIFY_OK;
+       int err = 0;
 
        switch (action) {
        case PSERIES_RECONFIG_ADD:
-               if (pseries_add_memory(node))
-                       err = NOTIFY_BAD;
+               err = pseries_add_memory(node);
                break;
        case PSERIES_RECONFIG_REMOVE:
-               if (pseries_remove_memory(node))
-                       err = NOTIFY_BAD;
+               err = pseries_remove_memory(node);
                break;
        case PSERIES_DRCONF_MEM_ADD:
        case PSERIES_DRCONF_MEM_REMOVE:
-               if (pseries_drconf_memory(node, action))
-                       err = NOTIFY_BAD;
-               break;
-       default:
-               err = NOTIFY_DONE;
+               err = pseries_drconf_memory(node, action);
                break;
        }
-       return err;
+       return notifier_from_errno(err);
 }
 
 static struct notifier_block pseries_mem_nb = {
 
        int err = blocking_notifier_call_chain(&pSeries_reconfig_chain,
                                                action, p);
 
-       if (err == NOTIFY_BAD)
-               return -ENOMEM; /* For now, safe to assume kmalloc failure */
-       return 0;
+       return notifier_to_errno(err);
 }
 
 static int pSeries_reconfig_add_node(const char *path, struct property *proplist)