aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/eventpoll.h
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2012-05-01 21:33:34 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2012-05-05 21:50:41 +0200
commit4d7e30d98939a0340022ccd49325a3d70f7e0238 (patch)
tree45307bd3a0b7fafc71aea41fc518f42e2e810e76 /include/linux/eventpoll.h
parentPM / Sleep: Add user space interface for manipulating wakeup sources, v3 (diff)
downloadlinux-dev-4d7e30d98939a0340022ccd49325a3d70f7e0238.tar.xz
linux-dev-4d7e30d98939a0340022ccd49325a3d70f7e0238.zip
epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready
When an epoll_event, that has the EPOLLWAKEUP flag set, is ready, a wakeup_source will be active to prevent suspend. This can be used to handle wakeup events from a driver that support poll, e.g. input, if that driver wakes up the waitqueue passed to epoll before allowing suspend. Signed-off-by: Arve Hjønnevåg <arve@android.com> Reviewed-by: NeilBrown <neilb@suse.de> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/eventpoll.h')
-rw-r--r--include/linux/eventpoll.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h
index 657ab55beda0..6f8be328770a 100644
--- a/include/linux/eventpoll.h
+++ b/include/linux/eventpoll.h
@@ -26,6 +26,18 @@
#define EPOLL_CTL_DEL 2
#define EPOLL_CTL_MOD 3
+/*
+ * Request the handling of system wakeup events so as to prevent system suspends
+ * from happening while those events are being processed.
+ *
+ * Assuming neither EPOLLET nor EPOLLONESHOT is set, system suspends will not be
+ * re-allowed until epoll_wait is called again after consuming the wakeup
+ * event(s).
+ *
+ * Requires CAP_EPOLLWAKEUP
+ */
+#define EPOLLWAKEUP (1 << 29)
+
/* Set the One Shot behaviour for the target file descriptor */
#define EPOLLONESHOT (1 << 30)