1 /* 1 /* 2 * Copyright (C) 2009 Michal Simek <monstr@mon << 3 * Copyright (C) 2009 PetaLogix << 4 * << 5 * This file is subject to the terms and condi 2 * This file is subject to the terms and conditions of the GNU General Public 6 * License. See the file "COPYING" in the main !! 3 * License. See the file "COPYING" in the main directory of this archive 7 * for more details. 4 * for more details. >> 5 * >> 6 * Copyright (C) 2001, 06 by Ralf Baechle (ralf@linux-mips.org) >> 7 * Copyright (C) 2001 MIPS Technologies, Inc. 8 */ 8 */ 9 !! 9 #include <linux/kernel.h> 10 #include <linux/init.h> !! 10 #include <linux/export.h> 11 #include <linux/delay.h> !! 11 #include <linux/pm.h> >> 12 #include <linux/types.h> 12 #include <linux/reboot.h> 13 #include <linux/reboot.h> 13 14 14 void machine_shutdown(void) !! 15 #include <asm/reboot.h> >> 16 >> 17 /* >> 18 * Urgs ... Too many MIPS machines to handle this in a generic way. >> 19 * So handle all using function pointers to machine specific >> 20 * functions. >> 21 */ >> 22 void (*_machine_restart)(char *command); >> 23 void (*_machine_halt)(void); >> 24 void (*pm_power_off)(void); >> 25 >> 26 EXPORT_SYMBOL(pm_power_off); >> 27 >> 28 void machine_restart(char *command) 15 { 29 { 16 pr_notice("Machine shutdown...\n"); !! 30 if (_machine_restart) 17 while (1) !! 31 _machine_restart(command); 18 ; << 19 } 32 } 20 33 21 void machine_halt(void) 34 void machine_halt(void) 22 { 35 { 23 pr_notice("Machine halt...\n"); !! 36 if (_machine_halt) 24 while (1) !! 37 _machine_halt(); 25 ; << 26 } 38 } 27 39 28 void machine_power_off(void) 40 void machine_power_off(void) 29 { 41 { 30 pr_notice("Machine power off...\n"); !! 42 if (pm_power_off) 31 while (1) !! 43 pm_power_off(); 32 ; << 33 } << 34 << 35 void machine_restart(char *cmd) << 36 { << 37 do_kernel_restart(cmd); << 38 /* Give the restart hook 1 s to take u << 39 mdelay(1000); << 40 pr_emerg("Reboot failed -- System halt << 41 while (1); << 42 } 44 } 43 45
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.