}
 
 #ifdef CONFIG_PM_SLEEP
-static int xen_hvm_suspend(void *data)
-{
-       struct suspend_info *si = data;
-       int err;
-
-       BUG_ON(!irqs_disabled());
-
-       err = sysdev_suspend(PMSG_SUSPEND);
-       if (err) {
-               printk(KERN_ERR "xen_hvm_suspend: sysdev_suspend failed: %d\n",
-                      err);
-               return err;
-       }
-
-       if (si->pre)
-               si->pre();
-
-       /*
-        * This hypercall returns 1 if suspend was cancelled
-        * or the domain was merely checkpointed, and 0 if it
-        * is resuming in a new domain.
-        */
-       si->cancelled = HYPERVISOR_suspend(si->arg);
-
-       if (si->post)
-               si->post(si->cancelled);
-
-       if (!si->cancelled) {
-               xen_irq_resume();
-               xen_console_resume();
-               xen_timer_resume();
-       }
-
-       sysdev_resume();
-
-       return 0;
-}
-
 static int xen_suspend(void *data)
 {
        struct suspend_info *si = data;
                si.post = &xen_post_suspend;
        }
 
-       if (xen_hvm_domain())
-               err = stop_machine(xen_hvm_suspend, &si, cpumask_of(0));
-       else
-               err = stop_machine(xen_suspend, &si, cpumask_of(0));
+       err = stop_machine(xen_suspend, &si, cpumask_of(0));
 
        dpm_resume_noirq(PMSG_RESUME);