30 lines
		
	
	
	
		
			635 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
	
		
			635 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  *  syscore_ops.h - System core operations. | ||
|  |  * | ||
|  |  *  Copyright (C) 2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. | ||
|  |  * | ||
|  |  *  This file is released under the GPLv2. | ||
|  |  */ | ||
|  | 
 | ||
|  | #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
 |