|
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...>
|