extern void kdump_nmi_shootdown_cpus(void);
 
 #ifdef CONFIG_CRASH_HOTPLUG
-void arch_crash_handle_hotplug_event(struct kimage *image);
+void arch_crash_handle_hotplug_event(struct kimage *image, void *arg);
 #define arch_crash_handle_hotplug_event arch_crash_handle_hotplug_event
 
 #ifdef CONFIG_HOTPLUG_CPU
 
 /**
  * arch_crash_handle_hotplug_event() - Handle hotplug elfcorehdr changes
  * @image: a pointer to kexec_crash_image
+ * @arg: struct memory_notify handler for memory hotplug case and
+ *       NULL for CPU hotplug case.
  *
  * Prepare the new elfcorehdr and replace the existing elfcorehdr.
  */
-void arch_crash_handle_hotplug_event(struct kimage *image)
+void arch_crash_handle_hotplug_event(struct kimage *image, void *arg)
 {
        void *elfbuf = NULL, *old_elfcorehdr;
        unsigned long nr_mem_ranges;
 
  * list of segments it checks (since the elfcorehdr changes and thus
  * would require an update to purgatory itself to update the digest).
  */
-static void crash_handle_hotplug_event(unsigned int hp_action, unsigned int cpu)
+static void crash_handle_hotplug_event(unsigned int hp_action, unsigned int cpu, void *arg)
 {
        struct kimage *image;
 
        image->hp_action = hp_action;
 
        /* Now invoke arch-specific update handler */
-       arch_crash_handle_hotplug_event(image);
+       arch_crash_handle_hotplug_event(image, arg);
 
        /* No longer handling a hotplug event */
        image->hp_action = KEXEC_CRASH_HP_NONE;
        crash_hotplug_unlock();
 }
 
-static int crash_memhp_notifier(struct notifier_block *nb, unsigned long val, void *v)
+static int crash_memhp_notifier(struct notifier_block *nb, unsigned long val, void *arg)
 {
        switch (val) {
        case MEM_ONLINE:
                crash_handle_hotplug_event(KEXEC_CRASH_HP_ADD_MEMORY,
-                       KEXEC_CRASH_HP_INVALID_CPU);
+                       KEXEC_CRASH_HP_INVALID_CPU, arg);
                break;
 
        case MEM_OFFLINE:
                crash_handle_hotplug_event(KEXEC_CRASH_HP_REMOVE_MEMORY,
-                       KEXEC_CRASH_HP_INVALID_CPU);
+                       KEXEC_CRASH_HP_INVALID_CPU, arg);
                break;
        }
        return NOTIFY_OK;
 
 static int crash_cpuhp_online(unsigned int cpu)
 {
-       crash_handle_hotplug_event(KEXEC_CRASH_HP_ADD_CPU, cpu);
+       crash_handle_hotplug_event(KEXEC_CRASH_HP_ADD_CPU, cpu, NULL);
        return 0;
 }
 
 static int crash_cpuhp_offline(unsigned int cpu)
 {
-       crash_handle_hotplug_event(KEXEC_CRASH_HP_REMOVE_CPU, cpu);
+       crash_handle_hotplug_event(KEXEC_CRASH_HP_REMOVE_CPU, cpu, NULL);
        return 0;
 }