blob: 5e37df3111ad4b33a98d33a235a5669940b9d346 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
Yoichi Yuasab1421592006-01-16 22:14:01 -080015void (*pm_power_off)(void);
16EXPORT_SYMBOL(pm_power_off);
17
Linus Torvalds1da177e2005-04-16 15:20:36 -070018/*
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 */
23void (*_machine_restart)(char *command);
24void (*_machine_halt)(void);
25void (*_machine_power_off)(void);
26
27void machine_restart(char *command)
28{
29 _machine_restart(command);
30}
31
Linus Torvalds1da177e2005-04-16 15:20:36 -070032void machine_halt(void)
33{
34 _machine_halt();
35}
36
Linus Torvalds1da177e2005-04-16 15:20:36 -070037void machine_power_off(void)
38{
Yoichi Yuasab1421592006-01-16 22:14:01 -080039 if (pm_power_off)
40 pm_power_off();
41
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 _machine_power_off();
43}
44