| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * syscore_ops.h - System core operations. | |
| * | |
| * Copyright (C) 2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. | |
| */ | |
| #ifndef _LINUX_SYSCORE_OPS_H | |
| #define _LINUX_SYSCORE_OPS_H | |
| #include <linux/list.h> | |
| struct syscore_ops { | |
| struct list_head node; | |
| int (*suspend)(void); | |
| void (*resume)(void); | |
| void (*shutdown)(void); | |
| }; | |
| extern void register_syscore_ops(struct syscore_ops *ops); | |
| extern void unregister_syscore_ops(struct syscore_ops *ops); | |
| #ifdef CONFIG_PM_SLEEP | |
| extern int syscore_suspend(void); | |
| extern void syscore_resume(void); | |
| #endif | |
| extern void syscore_shutdown(void); | |
| #endif |