An example of custom power states for the TI OMAP family. /sys/power/states supports a state named "deepsleep", which corresponds to the platform state actually entered by the present-day system suspend handler. It no longer offers the option of "disk" suspend which would not normally be available in an OMAP-based system, nor does it offer the choices "standby" or "mem", which are currently somewhat arbitrarily mapped to actual platform power states on OMAPs. In the future the OMAP could be extended to offer the choice of "big sleep" as well, another platform-specific low-power mode that falls under the general category of suspend-to-mem, once it is feasible to no longer use the same set of system suspend state values for all platforms and drivers (as mentioned in the base note). Index: linux-2.6.10/arch/arm/mach-omap/pm.c =================================================================== --- linux-2.6.10.orig/arch/arm/mach-omap/pm.c 2005-03-02 01:10:27.000000000 +0000 +++ linux-2.6.10/arch/arm/mach-omap/pm.c 2005-03-02 01:13:41.000000000 +0000 @@ -576,8 +576,20 @@ } +static struct pm_suspend_method omap_pm_suspend_methods[] = { + { + .name = "deepsleep", + .state = PM_SUSPEND_MEM, + }, + { + .name = NULL, + }, +}; + + struct pm_ops omap_pm_ops ={ .pm_disk_mode = 0, + .pm_suspend_methods = omap_pm_suspend_methods, .prepare = omap_pm_prepare, .enter = omap_pm_enter, .finish = omap_pm_finish,