Blame view
include/linux/reboot.h
2.11 KB
b24413180
|
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4c
|
2 3 |
#ifndef _LINUX_REBOOT_H #define _LINUX_REBOOT_H |
1da177e4c
|
4 5 |
#include <linux/notifier.h> |
607ca46e9
|
6 |
#include <uapi/linux/reboot.h> |
1da177e4c
|
7 |
|
2d8364bae
|
8 |
struct device; |
c5f41752f
|
9 10 11 12 |
#define SYS_DOWN 0x0001 /* Notify of system down */ #define SYS_RESTART SYS_DOWN #define SYS_HALT 0x0002 /* Notify of system halt */ #define SYS_POWER_OFF 0x0003 /* Notify of system power off */ |
edf2b1394
|
13 |
enum reboot_mode { |
b287a25a7
|
14 |
REBOOT_UNDEFINED = -1, |
edf2b1394
|
15 16 |
REBOOT_COLD = 0, REBOOT_WARM, |
c97a70085
|
17 18 |
REBOOT_HARD, REBOOT_SOFT, |
7b6d864b4
|
19 |
REBOOT_GPIO, |
edf2b1394
|
20 |
}; |
1b3a5d02e
|
21 |
extern enum reboot_mode reboot_mode; |
b287a25a7
|
22 |
extern enum reboot_mode panic_reboot_mode; |
1b3a5d02e
|
23 24 |
enum reboot_type { |
5be44a6fb
|
25 26 27 28 29 30 31 |
BOOT_TRIPLE = 't', BOOT_KBD = 'k', BOOT_BIOS = 'b', BOOT_ACPI = 'a', BOOT_EFI = 'e', BOOT_CF9_FORCE = 'p', BOOT_CF9_SAFE = 'q', |
1b3a5d02e
|
32 33 34 35 36 37 |
}; extern enum reboot_type reboot_type; extern int reboot_default; extern int reboot_cpu; extern int reboot_force; |
edf2b1394
|
38 |
|
1da177e4c
|
39 40 |
extern int register_reboot_notifier(struct notifier_block *); extern int unregister_reboot_notifier(struct notifier_block *); |
2d8364bae
|
41 |
extern int devm_register_reboot_notifier(struct device *, struct notifier_block *); |
b63adb979
|
42 43 44 |
extern int register_restart_handler(struct notifier_block *); extern int unregister_restart_handler(struct notifier_block *); extern void do_kernel_restart(char *cmd); |
1da177e4c
|
45 46 47 48 |
/* * Architecture-specific implementations of sys_reboot commands. */ |
c97102ba9
|
49 |
extern void migrate_to_reboot_cpu(void); |
1da177e4c
|
50 51 52 |
extern void machine_restart(char *cmd); extern void machine_halt(void); extern void machine_power_off(void); |
dc009d924
|
53 |
extern void machine_shutdown(void); |
6e274d144
|
54 55 |
struct pt_regs; extern void machine_crash_shutdown(struct pt_regs *); |
dc009d924
|
56 |
|
972ee83df
|
57 |
/* |
4a00ea1e1
|
58 59 |
* Architecture independent implemenations of sys_reboot commands. */ |
ca195b7f6
|
60 |
extern void kernel_restart_prepare(char *cmd); |
4a00ea1e1
|
61 62 63 |
extern void kernel_restart(char *cmd); extern void kernel_halt(void); extern void kernel_power_off(void); |
83cc5ed3c
|
64 |
|
eb5572fed
|
65 |
extern int C_A_D; /* for sysctl */ |
83cc5ed3c
|
66 |
void ctrl_alt_del(void); |
4a00ea1e1
|
67 |
|
10a0a8d4e
|
68 69 |
#define POWEROFF_CMD_PATH_LEN 256 extern char poweroff_cmd[POWEROFF_CMD_PATH_LEN]; |
7a54f46b3
|
70 71 |
extern void orderly_poweroff(bool force); extern void orderly_reboot(void); |
10a0a8d4e
|
72 |
|
7c9034735
|
73 74 75 76 77 78 |
/* * Emergency restart, callable from an interrupt handler. */ extern void emergency_restart(void); #include <asm/emergency-restart.h> |
1da177e4c
|
79 |
#endif /* _LINUX_REBOOT_H */ |