From: Kristoffer E. <kri...@gm...> - 2007-08-23 12:28:42
|
Greetings, Shortlog: HP6xx_apm is currently broken due to IRQ problems (acking/mask), but this will fix the compiling issues. It also adds better battery values. signed-off-by: Kristoffer Ericson <Kri...@gm...> diff --git a/arch/sh/boards/hp6xx/hp6xx_apm.c b/arch/sh/boards/hp6xx/hp6xx_apm.c index d1c1460..cc713e3 100644 --- a/arch/sh/boards/hp6xx/hp6xx_apm.c +++ b/arch/sh/boards/hp6xx/hp6xx_apm.c @@ -20,9 +20,9 @@ #define APM_CRITICAL 10 #define APM_LOW 30 -#define HP680_BATTERY_MAX 875 -#define HP680_BATTERY_MIN 600 -#define HP680_BATTERY_AC_ON 900 +#define HP680_BATTERY_MAX 898 +#define HP680_BATTERY_MIN 486 +#define HP680_BATTERY_AC_ON 1023 #define MODNAME "hp6x0_apm" @@ -65,9 +65,10 @@ static void hp6x0_apm_get_power_status(struct apm_power_info *info) static irqreturn_t hp6x0_apm_interrupt(int irq, void *dev) { - if (!apm_suspended) - apm_queue_event(APM_USER_SUSPEND); - + if(!APM_DISABLED) + apm_queue_event(APM_USER_SUSPEND); + /* apm_suspended (SH) -> apm_disabled (ARM) + and it is now handled by the driver itself */ return IRQ_HANDLED; } @@ -91,7 +92,6 @@ static int __init hp6x0_apm_init(void) static void __exit hp6x0_apm_exit(void) { free_irq(HP680_BTN_IRQ, 0); - apm_get_info = NULL; } module_init(hp6x0_apm_init); -- Kristoffer Ericson <Kri...@Gm...> |