]> err.no Git - linux-2.6/blobdiff - arch/blackfin/mach-common/pm.c
Pull thinkpad into release branch
[linux-2.6] / arch / blackfin / mach-common / pm.c
index deb27272c658d643d202337279b877c2424af8d2..b103027222024d9218b1b983c5c7041d8a46e689 100644 (file)
 #include <linux/pm.h>
 #include <linux/sched.h>
 #include <linux/proc_fs.h>
+#include <linux/io.h>
+#include <linux/irq.h>
 
-#include <asm/io.h>
 #include <asm/dpmc.h>
-#include <asm/irq.h>
-
+#include <asm/gpio.h>
 
 #ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H
 #define WAKEUP_TYPE    PM_WAKE_HIGH
@@ -102,10 +102,8 @@ static int bfin_pm_prepare(suspend_state_t state)
        switch (state) {
        case PM_SUSPEND_STANDBY:
                break;
-       case PM_SUSPEND_MEM:
-               return -ENOTSUPP;
 
-       case PM_SUSPEND_DISK:
+       case PM_SUSPEND_MEM:
                return -ENOTSUPP;
 
        default:
@@ -126,10 +124,8 @@ static int bfin_pm_enter(suspend_state_t state)
        case PM_SUSPEND_STANDBY:
                bfin_pm_suspend_standby_enter();
                break;
-       case PM_SUSPEND_MEM:
-               return -ENOTSUPP;
 
-       case PM_SUSPEND_DISK:
+       case PM_SUSPEND_MEM:
                return -ENOTSUPP;
 
        default:
@@ -155,9 +151,6 @@ static int bfin_pm_finish(suspend_state_t state)
        case PM_SUSPEND_MEM:
                return -ENOTSUPP;
 
-       case PM_SUSPEND_DISK:
-               return -ENOTSUPP;
-
        default:
                return -EINVAL;
        }
@@ -165,11 +158,16 @@ static int bfin_pm_finish(suspend_state_t state)
        return 0;
 }
 
+static int bfin_pm_valid(suspend_state_t state)
+{
+       return (state == PM_SUSPEND_STANDBY);
+}
+
 struct pm_ops bfin_pm_ops = {
-       .pm_disk_mode = PM_DISK_PLATFORM,
        .prepare = bfin_pm_prepare,
        .enter = bfin_pm_enter,
        .finish = bfin_pm_finish,
+       .valid  = bfin_pm_valid,
 };
 
 static int __init bfin_pm_init(void)