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