You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[APM] MIPS: Convert to use shared APM emulation.
Also convert to use generic kernel/power/Kconfig to make the use of the shared APM emulation possible. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
+7
-27
@@ -934,6 +934,9 @@ config CPU_LITTLE_ENDIAN
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config SYS_SUPPORTS_APM_EMULATION
|
||||||
|
bool
|
||||||
|
|
||||||
config SYS_SUPPORTS_BIG_ENDIAN
|
config SYS_SUPPORTS_BIG_ENDIAN
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@@ -1001,6 +1004,7 @@ config SOC_AU1X00
|
|||||||
bool
|
bool
|
||||||
select SYS_HAS_CPU_MIPS32_R1
|
select SYS_HAS_CPU_MIPS32_R1
|
||||||
select SYS_SUPPORTS_32BIT_KERNEL
|
select SYS_SUPPORTS_32BIT_KERNEL
|
||||||
|
select SYS_SUPPORTS_APM_EMULATION
|
||||||
|
|
||||||
config PNX8550
|
config PNX8550
|
||||||
bool
|
bool
|
||||||
@@ -2071,35 +2075,11 @@ config BINFMT_ELF32
|
|||||||
bool
|
bool
|
||||||
default y if MIPS32_O32 || MIPS32_N32
|
default y if MIPS32_O32 || MIPS32_N32
|
||||||
|
|
||||||
config PM
|
endmenu
|
||||||
bool "Power Management support (EXPERIMENTAL)"
|
|
||||||
depends on EXPERIMENTAL && SOC_AU1X00
|
|
||||||
|
|
||||||
config APM
|
menu "Power management options"
|
||||||
tristate "Advanced Power Management Emulation"
|
|
||||||
depends on PM
|
|
||||||
---help---
|
|
||||||
APM is a BIOS specification for saving power using several different
|
|
||||||
techniques. This is mostly useful for battery powered systems with
|
|
||||||
APM compliant BIOSes. If you say Y here, the system time will be
|
|
||||||
reset after a RESUME operation, the /proc/apm device will provide
|
|
||||||
battery status information, and user-space programs will receive
|
|
||||||
notification of APM "events" (e.g. battery status change).
|
|
||||||
|
|
||||||
In order to use APM, you will need supporting software. For location
|
source "kernel/power/Kconfig"
|
||||||
and more information, read <file:Documentation/pm.txt> and the
|
|
||||||
Battery Powered Linux mini-HOWTO, available from
|
|
||||||
<http://www.tldp.org/docs.html#howto>.
|
|
||||||
|
|
||||||
This driver does not spin down disk drives (see the hdparm(8)
|
|
||||||
manpage ("man 8 hdparm") for that), and it doesn't turn off
|
|
||||||
VESA-compliant "green" monitors.
|
|
||||||
|
|
||||||
Generally, if you don't have a battery in your machine, there isn't
|
|
||||||
much point in using this driver and you should say N. If you get
|
|
||||||
random kernel OOPSes or reboots that don't seem to be related to
|
|
||||||
anything, try disabling/enabling this option (or disabling/enabling
|
|
||||||
APM in your BIOS).
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \
|
|||||||
obj-$(CONFIG_STACKTRACE) += stacktrace.o
|
obj-$(CONFIG_STACKTRACE) += stacktrace.o
|
||||||
obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
|
obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
|
||||||
|
|
||||||
obj-$(CONFIG_APM) += apm.o
|
|
||||||
|
|
||||||
obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
|
obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
|
||||||
obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
|
obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
|
||||||
obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
|
obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,64 +0,0 @@
|
|||||||
/* -*- linux-c -*-
|
|
||||||
*
|
|
||||||
* (C) 2003 zecke@handhelds.org
|
|
||||||
*
|
|
||||||
* GPL version 2
|
|
||||||
*
|
|
||||||
* based on arch/arm/kernel/apm.c
|
|
||||||
* factor out the information needed by architectures to provide
|
|
||||||
* apm status
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#ifndef MIPS_ASM_SA1100_APM_H
|
|
||||||
#define MIPS_ASM_SA1100_APM_H
|
|
||||||
|
|
||||||
#include <linux/apm_bios.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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_ONLINE 1
|
|
||||||
#define APM_AC_BACKUP 2
|
|
||||||
#define APM_AC_UNKNOWN 0xff
|
|
||||||
|
|
||||||
unsigned char battery_status;
|
|
||||||
#define APM_BATTERY_STATUS_HIGH 0
|
|
||||||
#define APM_BATTERY_STATUS_LOW 1
|
|
||||||
#define APM_BATTERY_STATUS_CRITICAL 2
|
|
||||||
#define APM_BATTERY_STATUS_CHARGING 3
|
|
||||||
#define APM_BATTERY_STATUS_NOT_PRESENT 4
|
|
||||||
#define APM_BATTERY_STATUS_UNKNOWN 0xff
|
|
||||||
|
|
||||||
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 time;
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
extern void (*apm_get_power_status)(struct apm_power_info *);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Queue an event (APM_SYS_SUSPEND or APM_CRITICAL_SUSPEND)
|
|
||||||
*/
|
|
||||||
void apm_queue_event(apm_event_t event);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Reference in New Issue
Block a user