Subversion Repositories shark

Rev

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