diff options
Diffstat (limited to 'arch/x86/xen/enlighten.c')
| -rw-r--r-- | arch/x86/xen/enlighten.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index dd7b88f2ec7..5525163a039 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -1033,6 +1033,13 @@ static void xen_machine_halt(void)  	xen_reboot(SHUTDOWN_poweroff);  } +static void xen_machine_power_off(void) +{ +	if (pm_power_off) +		pm_power_off(); +	xen_reboot(SHUTDOWN_poweroff); +} +  static void xen_crash_shutdown(struct pt_regs *regs)  {  	xen_reboot(SHUTDOWN_crash); @@ -1058,7 +1065,7 @@ int xen_panic_handler_init(void)  static const struct machine_ops xen_machine_ops __initconst = {  	.restart = xen_restart,  	.halt = xen_machine_halt, -	.power_off = xen_machine_halt, +	.power_off = xen_machine_power_off,  	.shutdown = xen_machine_halt,  	.crash_shutdown = xen_crash_shutdown,  	.emergency_restart = xen_emergency_restart,  |