Commit 2524d90d authored by Russell King's avatar Russell King

[ARM] Update APM state definitions

Move existing APM state definitions into struct apm_power_info,
and add further definitions describing other fields.
parent bfeb7256
...@@ -15,42 +15,46 @@ ...@@ -15,42 +15,46 @@
#include <linux/config.h> #include <linux/config.h>
#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE) /*
* This structure gets filled in by the machine specific 'get_power_status'
* implementation. Any fields which are not set default to a safe value.
*/
struct apm_power_info {
unsigned char ac_line_status;
#define APM_AC_OFFLINE 0 #define APM_AC_OFFLINE 0
#define APM_AC_ONLINE 1 #define APM_AC_ONLINE 1
#define APM_AC_BACKUP 2 #define APM_AC_BACKUP 2
#define APM_AC_UNKNOWN 0xFF #define APM_AC_UNKNOWN 0xff
unsigned char battery_status;
#define APM_BATTERY_STATUS_HIGH 0 #define APM_BATTERY_STATUS_HIGH 0
#define APM_BATTERY_STATUS_LOW 1 #define APM_BATTERY_STATUS_LOW 1
#define APM_BATTERY_STATUS_CRITICAL 2 #define APM_BATTERY_STATUS_CRITICAL 2
#define APM_BATTERY_STATUS_CHARGING 3 #define APM_BATTERY_STATUS_CHARGING 3
#define APM_BATTERY_STATUS_UNKNOWN 0xFF #define APM_BATTERY_STATUS_NOT_PRESENT 4
#define APM_BATTERY_STATUS_UNKNOWN 0xff
#define APM_BATTERY_LIFE_UNKNOWN 0xFFFF
#define APM_BATTERY_LIFE_MINUTES 0x8000
#define APM_BATTERY_LIFE_VALUE_MASK 0x7FFF
/*
* This structure gets filled in by the machine specific 'get_power_status'
* implementation. Any fields which are not set default to a safe value.
*/
struct apm_power_info {
unsigned char ac_line_status;
unsigned char battery_status;
unsigned char battery_flag; unsigned char battery_flag;
#define APM_BATTERY_FLAG_HIGH (1 << 0)
#define APM_BATTERY_FLAG_LOW (1 << 1)
#define APM_BATTERY_FLAG_CRITICAL (1 << 2)
#define APM_BATTERY_FLAG_CHARGING (1 << 3)
#define APM_BATTERY_FLAG_NOT_PRESENT (1 << 7)
#define APM_BATTERY_FLAG_UNKNOWN 0xff
int battery_life; int battery_life;
int time; int time;
int units; int units;
#define APM_UNITS_MINS 0
#define APM_UNITS_SECS 1
#define APM_UNITS_UNKNOWN -1
}; };
/* /*
* This allows machines to provide their own "apm get power status" function. * This allows machines to provide their own "apm get power status" function.
*/ */
extern void (*apm_get_power_status)(struct apm_power_info *); extern void (*apm_get_power_status)(struct apm_power_info *);
#endif
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment