summaryrefslogtreecommitdiffstats
path: root/include/linux/apm_bios.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-01-10 05:27:25 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-01-10 05:27:25 +0000
commitc9c06167e7933d93a6e396174c68abf242294abb (patch)
treed9a8bb30663e9a3405a1ef37ffb62bc14b9f019f /include/linux/apm_bios.h
parentf79e8cc3c34e4192a3e5ef4cc9c6542fdef703c0 (diff)
Merge with Linux 2.4.0-test12.
Diffstat (limited to 'include/linux/apm_bios.h')
-rw-r--r--include/linux/apm_bios.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/include/linux/apm_bios.h b/include/linux/apm_bios.h
index 69ea9cf48..9dba26eeb 100644
--- a/include/linux/apm_bios.h
+++ b/include/linux/apm_bios.h
@@ -38,7 +38,7 @@ struct apm_bios_info {
unsigned short dseg_len;
};
- /* Results of APM Installation Check */
+/* Results of APM Installation Check */
#define APM_16_BIT_SUPPORT 0x0001
#define APM_32_BIT_SUPPORT 0x0002
#define APM_IDLE_SLOWS_CLOCK 0x0004
@@ -46,6 +46,15 @@ struct apm_bios_info {
#define APM_BIOS_DISENGAGED 0x0010
/*
+ * Data for APM that is persistant across module unload/load
+ */
+struct apm_info {
+ struct apm_bios_info bios;
+ unsigned short connection_version;
+ int get_power_status_broken;
+};
+
+/*
* The APM function codes
*/
#define APM_FUNC_INST_CHECK 0x5300
@@ -91,12 +100,9 @@ struct apm_bios_info {
#define APM_FUNC_TIMER_GET 2
/*
- * in init/main.c
+ * in arch/i386/kernel/setup.c
*/
-extern struct apm_bios_info apm_bios_info;
-
-extern int apm_register_callback(int (*callback)(apm_event_t));
-extern void apm_unregister_callback(int (*callback)(apm_event_t));
+extern struct apm_info apm_info;
#endif /* __KERNEL__ */
@@ -176,7 +182,7 @@ extern void apm_unregister_callback(int (*callback)(apm_event_t));
/*
* This is the "All Devices" ID communicated to the BIOS
*/
-#define APM_DEVICE_BALL ((apm_bios_info.version > 0x0100) ? \
+#define APM_DEVICE_BALL ((apm_info.connection_version > 0x0100) ? \
APM_DEVICE_ALL : APM_DEVICE_OLD_ALL)
#endif