Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
422 | giacomo | 1 | /* |
2 | * include/linux/platform.h - platform driver definitions |
||
3 | * |
||
4 | * Because of the prolific consumerism of the average American, |
||
5 | * and the dominant marketing budgets of PC OEMs, we have been |
||
6 | * blessed with frequent updates of the PC architecture. |
||
7 | * |
||
8 | * While most of these calls are singular per architecture, they |
||
9 | * require an extra layer of abstraction on the x86 so the right |
||
10 | * subsystem gets the right call. |
||
11 | * |
||
12 | * Basically, this consolidates the power off and reboot callbacks |
||
13 | * into one structure, as well as adding power management hooks. |
||
14 | * |
||
15 | * When adding a platform driver, please make sure all callbacks are |
||
16 | * filled. There are defaults defined below that do nothing; use those |
||
17 | * if you do not support that callback. |
||
18 | */ |
||
19 | |||
20 | #ifndef _PLATFORM_H_ |
||
21 | #define _PLATFORM_H_ |
||
22 | #ifdef __KERNEL__ |
||
23 | |||
24 | #include <linux/types.h> |
||
25 | |||
26 | struct platform_t { |
||
27 | char * name; |
||
28 | u32 suspend_states; |
||
29 | void (*reboot)(char * cmd); |
||
30 | void (*halt)(void); |
||
31 | void (*power_off)(void); |
||
32 | int (*suspend)(int state, int flags); |
||
33 | void (*idle)(void); |
||
34 | }; |
||
35 | |||
36 | extern struct platform_t * platform; |
||
37 | extern void default_reboot(char * cmd); |
||
38 | extern void default_halt(void); |
||
39 | extern int default_suspend(int state, int flags); |
||
40 | extern void default_idle(void); |
||
41 | |||
42 | #endif /* __KERNEL__ */ |
||
43 | #endif /* _PLATFORM_H */ |