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