apm_info
if ((enable == 0) && (apm_info.bios.flags & APM_BIOS_DISENGAGED))
apm_info.bios.flags &= ~APM_BIOS_DISABLED;
apm_info.bios.flags |= APM_BIOS_DISABLED;
if (apm_info.get_power_status_broken)
if (apm_info.get_power_status_swabinminutes) {
&& (apm_info.bios.flags & APM_BIOS_DISABLED))
apm_info.bios.flags &= ~APM_BIOS_DISENGAGED;
apm_info.bios.flags |= APM_BIOS_DISENGAGED;
if (apm_info.connection_version > 0x100)
if (apm_info.connection_version > 0x100)
if ((apm_info.connection_version > 0x100) &&
if (apm_info.connection_version > 0x100) {
(apm_info.bios.version >> 8) & 0xff,
apm_info.bios.version & 0xff,
apm_info.bios.flags,
if (apm_info.connection_version == 0) {
apm_info.connection_version = apm_info.bios.version;
if (apm_info.connection_version > 0x100) {
if (apm_info.connection_version > 0x0102)
apm_info.connection_version = 0x0102;
error = apm_driver_version(&apm_info.connection_version);
apm_info.connection_version = 0x100;
(apm_info.connection_version >> 8) & 0xff,
apm_info.connection_version & 0xff);
if (apm_info.bios.flags & APM_BIOS_DISABLED) {
if ((apm_info.bios.flags & APM_BIOS_DISENGAGED)
&& (apm_info.connection_version > 0x0100)) {
if (apm_info.connection_version > 0x100) {
apm_info.allow_ints = !invert;
apm_info.get_power_status_broken = !invert;
apm_info.realmode_power_off = !invert;
if (apm_info.realmode_power_off == 0) {
apm_info.realmode_power_off = 1;
if (apm_info.allow_ints == 0) {
apm_info.allow_ints = 1;
if (apm_info.disabled == 0) {
apm_info.disabled = 1;
if (apm_info.disabled == 0) {
apm_info.disabled = 1;
if (apm_info.forbid_idle == 0) {
apm_info.forbid_idle = 1;
apm_info.get_power_status_broken = 1;
apm_info.get_power_status_swabinminutes = 1;
if (apm_info.bios.version == 0 || machine_is_olpc()) {
((apm_info.bios.version >> 8) & 0xff),
(apm_info.bios.version & 0xff),
apm_info.bios.flags,
if ((apm_info.bios.flags & APM_32_BIT_SUPPORT) == 0) {
apm_info.allow_ints = 1;
apm_info.get_power_status_broken = 1;
apm_info.realmode_power_off = 1;
apm_info.disabled = apm_disabled;
if (apm_info.bios.version == 0x001)
apm_info.bios.version = 0x100;
if (apm_info.bios.version < 0x102)
apm_info.bios.cseg_16_len = 0; /* 64k */
apm_info.bios.cseg, apm_info.bios.offset,
apm_info.bios.cseg_16, apm_info.bios.dseg);
if (apm_info.bios.version > 0x100)
apm_info.bios.cseg_len,
apm_info.bios.dseg_len);
if (apm_info.bios.version > 0x101)
printk(" cseg16 len %x", apm_info.bios.cseg_16_len);
if (apm_info.disabled) {
apm_info.disabled = 1;
apm_info.disabled = 1;
apm_bios_entry.offset = apm_info.bios.offset;
(unsigned long)__va((unsigned long)apm_info.bios.cseg << 4));
(unsigned long)__va((unsigned long)apm_info.bios.cseg_16 << 4));
(unsigned long)__va((unsigned long)apm_info.bios.dseg << 4));
if (((apm_info.bios.flags & APM_BIOS_DISENGAGED) == 0)
&& (apm_info.connection_version > 0x0100)) {
if (apm_info.allow_ints) {
if (apm_info.connection_version < 0x0102)
clock_slowed = (apm_info.bios.flags & APM_IDLE_SLOWS_CLOCK) != 0;
if (apm_info.forbid_idle)
if (apm_info.realmode_power_off) {
struct apm_info apm_info;
EXPORT_SYMBOL(apm_info);
apm_info.bios = boot_params.apm_bios_info;
extern struct apm_info apm_info;
#define APM_DEVICE_BALL ((apm_info.connection_version > 0x0100) ? \