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