.notifier_call = pseries_smp_notifier,
 };
 
-static int __init pseries_cpu_hotplug_init(void)
+void __init pseries_cpu_hotplug_init(void)
 {
        int qcss_tok;
-       unsigned int node;
-
-#ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
-       ppc_md.cpu_probe = dlpar_cpu_probe;
-       ppc_md.cpu_release = dlpar_cpu_release;
-#endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
 
        rtas_stop_self_token = rtas_function_token(RTAS_FN_STOP_SELF);
        qcss_tok = rtas_function_token(RTAS_FN_QUERY_CPU_STOPPED_STATE);
                        qcss_tok == RTAS_UNKNOWN_SERVICE) {
                printk(KERN_INFO "CPU Hotplug not supported by firmware "
                                "- disabling.\n");
-               return 0;
+               return;
        }
 
        smp_ops->cpu_offline_self = pseries_cpu_offline_self;
        smp_ops->cpu_disable = pseries_cpu_disable;
        smp_ops->cpu_die = pseries_cpu_die;
+}
+
+static int __init pseries_dlpar_init(void)
+{
+       unsigned int node;
+
+#ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
+       ppc_md.cpu_probe = dlpar_cpu_probe;
+       ppc_md.cpu_release = dlpar_cpu_release;
+#endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
 
        /* Processors can be added/removed only on LPAR */
        if (firmware_has_feature(FW_FEATURE_LPAR)) {
 
        return 0;
 }
-machine_arch_initcall(pseries, pseries_cpu_hotplug_init);
+machine_arch_initcall(pseries, pseries_dlpar_init);
 
 
 #ifdef CONFIG_HOTPLUG_CPU
 int dlpar_cpu(struct pseries_hp_errorlog *hp_elog);
+void pseries_cpu_hotplug_init(void);
 #else
 static inline int dlpar_cpu(struct pseries_hp_errorlog *hp_elog)
 {
        return -EOPNOTSUPP;
 }
+static inline void pseries_cpu_hotplug_init(void) { }
 #endif
 
 /* PCI root bridge prepare function override for pseries */
 
        /* Discover PIC type and setup ppc_md accordingly */
        smp_init_pseries();
 
+       // Setup CPU hotplug callbacks
+       pseries_cpu_hotplug_init();
 
        if (radix_enabled() && !mmu_has_feature(MMU_FTR_GTSE))
                if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE))