Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  syscore_ops.h - System core operations.
0004  *
0005  *  Copyright (C) 2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc.
0006  */
0007 
0008 #ifndef _LINUX_SYSCORE_OPS_H
0009 #define _LINUX_SYSCORE_OPS_H
0010 
0011 #include <linux/list.h>
0012 
0013 struct syscore_ops {
0014     struct list_head node;
0015     int (*suspend)(void);
0016     void (*resume)(void);
0017     void (*shutdown)(void);
0018 };
0019 
0020 extern void register_syscore_ops(struct syscore_ops *ops);
0021 extern void unregister_syscore_ops(struct syscore_ops *ops);
0022 #ifdef CONFIG_PM_SLEEP
0023 extern int syscore_suspend(void);
0024 extern void syscore_resume(void);
0025 #endif
0026 extern void syscore_shutdown(void);
0027 
0028 #endif