| /* | 
 |  * include/linux/platform.h - platform driver definitions | 
 |  * | 
 |  * Because of the prolific consumerism of the average American, | 
 |  * and the dominant marketing budgets of PC OEMs, we have been | 
 |  * blessed with frequent updates of the PC architecture.  | 
 |  * | 
 |  * While most of these calls are singular per architecture, they  | 
 |  * require an extra layer of abstraction on the x86 so the right | 
 |  * subsystem gets the right call.  | 
 |  * | 
 |  * Basically, this consolidates the power off and reboot callbacks  | 
 |  * into one structure, as well as adding power management hooks. | 
 |  * | 
 |  * When adding a platform driver, please make sure all callbacks are  | 
 |  * filled. There are defaults defined below that do nothing; use those | 
 |  * if you do not support that callback. | 
 |  */  | 
 |  | 
 | #ifndef _PLATFORM_H_ | 
 | #define _PLATFORM_H_ | 
 | #ifdef __KERNEL__ | 
 |  | 
 | #include <linux/types.h> | 
 |  | 
 | struct platform_t { | 
 | 	char	* name; | 
 | 	u32	suspend_states; | 
 | 	void	(*reboot)(char * cmd); | 
 | 	void	(*halt)(void); | 
 | 	void	(*power_off)(void); | 
 | 	int	(*suspend)(int state, int flags); | 
 | 	void	(*idle)(void); | 
 | }; | 
 |  | 
 | extern struct platform_t * platform; | 
 | extern void default_reboot(char * cmd); | 
 | extern void default_halt(void); | 
 | extern int default_suspend(int state, int flags); | 
 | extern void default_idle(void); | 
 |  | 
 | #endif /* __KERNEL__ */ | 
 | #endif /* _PLATFORM_H */ |