X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=arch%2Farm%2Fmach-pnx4008%2Fpm.c;h=b3d8d53e32ef8cd5733d0de3dac98bfffe9a9aef;hb=0cd397d33608ae6c97d2ee6c8c43462b419b7e26;hp=3649cd3dfc9af4abe0ffe07cf1bbd66dc352aef8;hpb=78818e477bf785391b02672d053fdbb2e111fb50;p=safe%2Fjmp%2Flinux-2.6 diff --git a/arch/arm/mach-pnx4008/pm.c b/arch/arm/mach-pnx4008/pm.c index 3649cd3..b3d8d53 100644 --- a/arch/arm/mach-pnx4008/pm.c +++ b/arch/arm/mach-pnx4008/pm.c @@ -15,15 +15,14 @@ #include #include #include -#include +#include #include #include +#include -#include -#include #include -#include -#include +#include +#include #define SRAM_VA IO_ADDRESS(PNX4008_IRAM_BASE) @@ -107,50 +106,19 @@ static int pnx4008_pm_enter(suspend_state_t state) case PM_SUSPEND_MEM: pnx4008_suspend(); break; - case PM_SUSPEND_DISK: - return -ENOTSUPP; - default: - return -EINVAL; } return 0; } -/* - * Called after processes are frozen, but before we shut down devices. - */ -static int pnx4008_pm_prepare(suspend_state_t state) +static int pnx4008_pm_valid(suspend_state_t state) { - switch (state) { - case PM_SUSPEND_STANDBY: - case PM_SUSPEND_MEM: - break; - - case PM_SUSPEND_DISK: - return -ENOTSUPP; - break; - - default: - return -EINVAL; - break; - } - return 0; -} - -/* - * Called after devices are re-setup, but before processes are thawed. - */ -static int pnx4008_pm_finish(suspend_state_t state) -{ - return 0; + return (state == PM_SUSPEND_STANDBY) || + (state == PM_SUSPEND_MEM); } -/* - * Set to PM_DISK_FIRMWARE so we can quickly veto suspend-to-disk. - */ -static struct pm_ops pnx4008_pm_ops = { - .prepare = pnx4008_pm_prepare, +static struct platform_suspend_ops pnx4008_pm_ops = { .enter = pnx4008_pm_enter, - .finish = pnx4008_pm_finish, + .valid = pnx4008_pm_valid, }; static int __init pnx4008_pm_init(void) @@ -177,7 +145,7 @@ static int __init pnx4008_pm_init(void) return -ENOMEM; } - pm_set_ops(&pnx4008_pm_ops); + suspend_set_ops(&pnx4008_pm_ops); return 0; }