| 1 | /* SPDX-License-Identifier: GPL-2.0-only */ | 
|---|
| 2 | /* | 
|---|
| 3 | *  syscore_ops.h - System core operations. | 
|---|
| 4 | * | 
|---|
| 5 | *  Copyright (C) 2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. | 
|---|
| 6 | */ | 
|---|
| 7 |  | 
|---|
| 8 | #ifndef _LINUX_SYSCORE_OPS_H | 
|---|
| 9 | #define _LINUX_SYSCORE_OPS_H | 
|---|
| 10 |  | 
|---|
| 11 | #include <linux/list.h> | 
|---|
| 12 |  | 
|---|
| 13 | struct syscore_ops { | 
|---|
| 14 | struct list_head node; | 
|---|
| 15 | int (*suspend)(void); | 
|---|
| 16 | void (*resume)(void); | 
|---|
| 17 | void (*shutdown)(void); | 
|---|
| 18 | }; | 
|---|
| 19 |  | 
|---|
| 20 | extern void register_syscore_ops(struct syscore_ops *ops); | 
|---|
| 21 | extern void unregister_syscore_ops(struct syscore_ops *ops); | 
|---|
| 22 | #ifdef CONFIG_PM_SLEEP | 
|---|
| 23 | extern int syscore_suspend(void); | 
|---|
| 24 | extern void syscore_resume(void); | 
|---|
| 25 | #endif | 
|---|
| 26 | extern void syscore_shutdown(void); | 
|---|
| 27 |  | 
|---|
| 28 | #endif | 
|---|
| 29 |  | 
|---|