2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/include/linux/platform.h
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00

44 lines
1.2 KiB
C

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