xref: /openbmc/linux/arch/arc/kernel/reset.c (revision e58e871b)
1 /*
2  * Copyright (C) 2011-2012 Synopsys, Inc. (www.synopsys.com)
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 
9 #include <linux/kernel.h>
10 #include <linux/printk.h>
11 #include <linux/reboot.h>
12 #include <linux/pm.h>
13 
14 void machine_halt(void)
15 {
16 	/* Halt the processor */
17 	__asm__ __volatile__("flag  1\n");
18 }
19 
20 void machine_restart(char *__unused)
21 {
22 	/* Soft reset : jump to reset vector */
23 	pr_info("Put your restart handler here\n");
24 	machine_halt();
25 }
26 
27 void machine_power_off(void)
28 {
29 	/* FIXME ::  power off ??? */
30 	machine_halt();
31 }
32 
33 void (*pm_power_off) (void) = NULL;
34 EXPORT_SYMBOL(pm_power_off);
35