blob: a131aa0cbe66d8a56f96208820761d778256b5ce [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
15/*
16 * Urgs ... Too many MIPS machines to handle this in a generic way.
17 * So handle all using function pointers to machine specific
18 * functions.
19 */
20void (*_machine_restart)(char *command);
21void (*_machine_halt)(void);
22void (*_machine_power_off)(void);
23
24void machine_restart(char *command)
25{
Ralf Baechle9414d362006-01-17 21:14:01 +000026 if (_machine_restart)
27 _machine_restart(command);
Linus Torvalds1da177e2005-04-16 15:20:36 -070028}
29
Linus Torvalds1da177e2005-04-16 15:20:36 -070030void machine_halt(void)
31{
Ralf Baechle9414d362006-01-17 21:14:01 +000032 if (_machine_halt)
33 _machine_halt();
Linus Torvalds1da177e2005-04-16 15:20:36 -070034}
35
Linus Torvalds1da177e2005-04-16 15:20:36 -070036void machine_power_off(void)
37{
Ralf Baechle9414d362006-01-17 21:14:01 +000038 if (_machine_power_off)
39 _machine_power_off();
Linus Torvalds1da177e2005-04-16 15:20:36 -070040}