mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
kernel/sysctl.c is a kitchen sink where everyone leaves their dirty dishes, this makes it very difficult to maintain. To help with this maintenance let's start by moving sysctls to places where they actually belong. The proc sysctl maintainers do not want to know what sysctl knobs you wish to add for your own piece of code, we just care about the core logic. All filesystem syctls now get reviewed by fs folks. This commit follows the commit of fs, move the poweroff_cmd and ctrl-alt-del sysctls to its own file, kernel/reboot.c. Signed-off-by: tangmeng <tangmeng@uniontech.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
88 lines
2.1 KiB
C
88 lines
2.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_REBOOT_H
|
|
#define _LINUX_REBOOT_H
|
|
|
|
|
|
#include <linux/notifier.h>
|
|
#include <uapi/linux/reboot.h>
|
|
|
|
struct device;
|
|
|
|
#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 */
|
|
|
|
enum reboot_mode {
|
|
REBOOT_UNDEFINED = -1,
|
|
REBOOT_COLD = 0,
|
|
REBOOT_WARM,
|
|
REBOOT_HARD,
|
|
REBOOT_SOFT,
|
|
REBOOT_GPIO,
|
|
};
|
|
extern enum reboot_mode reboot_mode;
|
|
extern enum reboot_mode panic_reboot_mode;
|
|
|
|
enum reboot_type {
|
|
BOOT_TRIPLE = 't',
|
|
BOOT_KBD = 'k',
|
|
BOOT_BIOS = 'b',
|
|
BOOT_ACPI = 'a',
|
|
BOOT_EFI = 'e',
|
|
BOOT_CF9_FORCE = 'p',
|
|
BOOT_CF9_SAFE = 'q',
|
|
};
|
|
extern enum reboot_type reboot_type;
|
|
|
|
extern int reboot_default;
|
|
extern int reboot_cpu;
|
|
extern int reboot_force;
|
|
|
|
|
|
extern int register_reboot_notifier(struct notifier_block *);
|
|
extern int unregister_reboot_notifier(struct notifier_block *);
|
|
|
|
extern int devm_register_reboot_notifier(struct device *, struct notifier_block *);
|
|
|
|
extern int register_restart_handler(struct notifier_block *);
|
|
extern int unregister_restart_handler(struct notifier_block *);
|
|
extern void do_kernel_restart(char *cmd);
|
|
|
|
/*
|
|
* Architecture-specific implementations of sys_reboot commands.
|
|
*/
|
|
|
|
extern void migrate_to_reboot_cpu(void);
|
|
extern void machine_restart(char *cmd);
|
|
extern void machine_halt(void);
|
|
extern void machine_power_off(void);
|
|
|
|
extern void machine_shutdown(void);
|
|
struct pt_regs;
|
|
extern void machine_crash_shutdown(struct pt_regs *);
|
|
|
|
/*
|
|
* Architecture independent implemenations of sys_reboot commands.
|
|
*/
|
|
|
|
extern void kernel_restart_prepare(char *cmd);
|
|
extern void kernel_restart(char *cmd);
|
|
extern void kernel_halt(void);
|
|
extern void kernel_power_off(void);
|
|
|
|
void ctrl_alt_del(void);
|
|
|
|
extern void orderly_poweroff(bool force);
|
|
extern void orderly_reboot(void);
|
|
void hw_protection_shutdown(const char *reason, int ms_until_forced);
|
|
|
|
/*
|
|
* Emergency restart, callable from an interrupt handler.
|
|
*/
|
|
|
|
extern void emergency_restart(void);
|
|
#include <asm/emergency-restart.h>
|
|
|
|
#endif /* _LINUX_REBOOT_H */
|