| /* 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 |