| /* |
| * 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 */ |