[ARM] 3864/1: Refactore sharpsl_pm
authorDirk Opfer <dirk@opfer-online.de>
Mon, 25 Sep 2006 21:51:02 +0000 (22:51 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 27 Sep 2006 19:59:22 +0000 (20:59 +0100)
This patch adds another hook into sharpsl_pm to notify the machine
specific driver immediately after resume. This is needed to support the Sharp SL-6000 (Tosa).

Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/common/sharpsl_pm.c
include/asm-arm/hardware/sharpsl_pm.h

index 59b5ddec480f6992db54c2e8d0fdae5c9639b2ac..f412dedda68412b2c6ac239826e1adc14f03931a 100644 (file)
@@ -40,6 +40,7 @@
 #define SHARPSL_CHARGE_FINISH_TIME             (msecs_to_jiffies(10*60*1000)) /* 10 min */
 #define SHARPSL_BATCHK_TIME                    (msecs_to_jiffies(15*1000))    /* 15 sec */
 #define SHARPSL_BATCHK_TIME_SUSPEND            (60*10)                        /* 10 min */
+
 #define SHARPSL_WAIT_CO_TIME                   15  /* 15 sec */
 #define SHARPSL_WAIT_DISCHARGE_ON              100 /* 100 msec */
 #define SHARPSL_CHECK_BATTERY_WAIT_TIME_TEMP   10  /* 10 msec */
@@ -575,6 +576,9 @@ static int corgi_pxa_pm_enter(suspend_state_t state)
        while (corgi_enter_suspend(alarm_time,alarm_status,state))
                {}
 
+       if (sharpsl_pm.machinfo->earlyresume)
+               sharpsl_pm.machinfo->earlyresume();
+
        dev_dbg(sharpsl_pm.dev, "SharpSL resuming...\n");
 
        return 0;
index ecf15b83956f88ce1b09ef99943ad95501de7263..a836e76a14f7de1b8b8c8da0215304de6ad8801a 100644 (file)
@@ -25,6 +25,7 @@ struct sharpsl_charger_machinfo {
        void (*measure_temp)(int);
        void (*presuspend)(void);
        void (*postsuspend)(void);
+       void (*earlyresume)(void);
        unsigned long (*read_devdata)(int);
 #define SHARPSL_BATT_VOLT       1
 #define SHARPSL_BATT_TEMP       2