Merge tag 'v3.10.55' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / reboot.h
CommitLineData
1da177e4
LT
1#ifndef _LINUX_REBOOT_H
2#define _LINUX_REBOOT_H
3
1da177e4
LT
4
5#include <linux/notifier.h>
607ca46e 6#include <uapi/linux/reboot.h>
1da177e4 7
c5f41752
AW
8#define SYS_DOWN 0x0001 /* Notify of system down */
9#define SYS_RESTART SYS_DOWN
10#define SYS_HALT 0x0002 /* Notify of system halt */
11#define SYS_POWER_OFF 0x0003 /* Notify of system power off */
12
6fa3eb70
S
13enum reboot_mode {
14 REBOOT_COLD = 0,
15 REBOOT_WARM,
16 REBOOT_HARD,
17 REBOOT_SOFT,
18 REBOOT_GPIO,
19};
20
1da177e4
LT
21extern int register_reboot_notifier(struct notifier_block *);
22extern int unregister_reboot_notifier(struct notifier_block *);
23
24
25/*
26 * Architecture-specific implementations of sys_reboot commands.
27 */
28
29extern void machine_restart(char *cmd);
30extern void machine_halt(void);
31extern void machine_power_off(void);
32
dc009d92 33extern void machine_shutdown(void);
6e274d14
AN
34struct pt_regs;
35extern void machine_crash_shutdown(struct pt_regs *);
dc009d92 36
4a00ea1e
EB
37/*
38 * Architecture independent implemenations of sys_reboot commands.
39 */
40
ca195b7f 41extern void kernel_restart_prepare(char *cmd);
4a00ea1e
EB
42extern void kernel_restart(char *cmd);
43extern void kernel_halt(void);
44extern void kernel_power_off(void);
83cc5ed3 45
eb5572fe 46extern int C_A_D; /* for sysctl */
83cc5ed3 47void ctrl_alt_del(void);
4a00ea1e 48
10a0a8d4
JF
49#define POWEROFF_CMD_PATH_LEN 256
50extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN];
51
52extern int orderly_poweroff(bool force);
53
7c903473
EB
54/*
55 * Emergency restart, callable from an interrupt handler.
56 */
57
58extern void emergency_restart(void);
59#include <asm/emergency-restart.h>
60
1da177e4 61#endif /* _LINUX_REBOOT_H */