PM: Add user-space wake lock api.
Arve Hjønnevåg [Fri, 10 Oct 2008 04:01:46 +0000 (21:01 -0700)]
This adds /sys/power/wake_lock and /sys/power/wake_unlock.
Writing a string to wake_lock creates a wake lock the
first time is sees a string and locks it. Optionally, the
string can be followed by a timeout.
To unlock the wake lock, write the same string to wake_unlock.

Change-Id: I66c6e3fe6487d17f9c2fafde1174042e57d15cd7

kernel/power/Kconfig
kernel/power/Makefile

index 838398f..6677e32 100644 (file)
@@ -26,6 +26,16 @@ config WAKELOCK
        bool
        default y
 
+config USER_WAKELOCK
+       bool "Userspace wake locks"
+       depends on PM_SLEEP
+       default y
+       ---help---
+         User-space wake lock api. Write "lockname" or "lockname timeout"
+         to /sys/power/wake_lock lock and if needed create a wake lock.
+         Write "lockname" to /sys/power/wake_unlock to unlock a user wake
+         lock.
+
 config HIBERNATE_CALLBACKS
        bool
 
index c0708ae..7f51f84 100644 (file)
@@ -9,6 +9,7 @@ obj-$(CONFIG_SUSPEND)           += suspend.o
 obj-$(CONFIG_PM_TEST_SUSPEND)  += suspend_test.o
 obj-$(CONFIG_HIBERNATION)      += hibernate.o snapshot.o swap.o user.o \
                                   block_io.o
+obj-$(CONFIG_USER_WAKELOCK)    += userwakelock.o
 obj-$(CONFIG_SUSPEND_TIME)     += suspend_time.o
 
 obj-$(CONFIG_MAGIC_SYSRQ)      += poweroff.o