xref: /openbmc/linux/arch/mips/kernel/reset.c (revision b142159f)
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2001 by Ralf Baechle
7  * Copyright (C) 2001 MIPS Technologies, Inc.
8  */
9 #include <linux/kernel.h>
10 #include <linux/module.h>
11 #include <linux/types.h>
12 #include <linux/reboot.h>
13 #include <asm/reboot.h>
14 
15 void (*pm_power_off)(void);
16 EXPORT_SYMBOL(pm_power_off);
17 
18 /*
19  * Urgs ...  Too many MIPS machines to handle this in a generic way.
20  * So handle all using function pointers to machine specific
21  * functions.
22  */
23 void (*_machine_restart)(char *command);
24 void (*_machine_halt)(void);
25 void (*_machine_power_off)(void);
26 
27 void machine_restart(char *command)
28 {
29 	_machine_restart(command);
30 }
31 
32 void machine_halt(void)
33 {
34 	_machine_halt();
35 }
36 
37 void machine_power_off(void)
38 {
39 	if (pm_power_off)
40 		pm_power_off();
41 
42 	_machine_power_off();
43 }
44 
45