From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: "Arve Hjønnevåg" <arve@android.com>
Cc: Len Brown <len.brown@intel.com>,
Jim Collar <jim.collar@eqware.net>,
linux-doc@vger.kernel.org, Greg Kroah-Hartman <gregkh@suse.de>,
linux-kernel@vger.kernel.org, Oleg Nesterov <oleg@redhat.com>,
Avi Kivity <avi@redhat.com>,
Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
Tejun Heo <tj@kernel.org>, Magnus Damm <damm@igel.co.jp>,
linux-pm@lists.linux-foundation.org,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space
Date: Sun, 2 May 2010 23:23:30 +0200 [thread overview]
Message-ID: <201005022323.30128.rjw@sisk.pl> (raw)
In-Reply-To: <1272667021-21312-3-git-send-email-arve@android.com>
On Saturday 01 May 2010, Arve Hjønnevåg wrote:
> Add a misc device, "suspend_blocker", that allows user-space processes
> to block auto suspend. The device has ioctls to create a suspend_blocker,
> and to block and unblock suspend. To delete the suspend_blocker, close
> the device.
>
> Signed-off-by: Arve Hjønnevåg <arve@android.com>
> ---
> Documentation/ioctl/ioctl-number.txt | 3 +-
> Documentation/power/opportunistic-suspend.txt | 17 ++++
> include/linux/suspend_block_dev.h | 25 +++++
> kernel/power/Kconfig | 9 ++
> kernel/power/Makefile | 1 +
> kernel/power/user_suspend_blocker.c | 128 +++++++++++++++++++++++++
> 6 files changed, 182 insertions(+), 1 deletions(-)
> create mode 100644 include/linux/suspend_block_dev.h
> create mode 100644 kernel/power/user_suspend_blocker.c
>
> diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt
> index dd5806f..e2458f7 100644
> --- a/Documentation/ioctl/ioctl-number.txt
> +++ b/Documentation/ioctl/ioctl-number.txt
> @@ -254,7 +254,8 @@ Code Seq#(hex) Include File Comments
> 'q' 80-FF linux/telephony.h Internet PhoneJACK, Internet LineJACK
> linux/ixjuser.h <http://www.quicknet.net>
> 'r' 00-1F linux/msdos_fs.h and fs/fat/dir.c
> -'s' all linux/cdk.h
> +'s' all linux/cdk.h conflict!
> +'s' all linux/suspend_block_dev.h conflict!
> 't' 00-7F linux/if_ppp.h
> 't' 80-8F linux/isdn_ppp.h
> 't' 90 linux/toshiba.h
> diff --git a/Documentation/power/opportunistic-suspend.txt b/Documentation/power/opportunistic-suspend.txt
> index 3d060e8..f2b145e 100644
> --- a/Documentation/power/opportunistic-suspend.txt
> +++ b/Documentation/power/opportunistic-suspend.txt
> @@ -117,3 +117,20 @@ if (list_empty(&state->pending_work))
> else
> suspend_block(&state->suspend_blocker);
>
> +User-space API
> +==============
> +
> +To create a suspend_blocker from user-space, open the suspend_blocker device:
> + fd = open("/dev/suspend_blocker", O_RDWR | O_CLOEXEC);
> +then call:
> + ioctl(fd, SUSPEND_BLOCKER_IOCTL_INIT(strlen(name)), name);
> +
> +To activate a suspend_blocker call:
> + ioctl(fd, SUSPEND_BLOCKER_IOCTL_BLOCK);
> +
> +To unblock call:
> + ioctl(fd, SUSPEND_BLOCKER_IOCTL_UNBLOCK);
> +
> +To destroy the suspend_blocker, close the device:
> + close(fd);
> +
> diff --git a/include/linux/suspend_block_dev.h b/include/linux/suspend_block_dev.h
> new file mode 100644
> index 0000000..24bc5c7
> --- /dev/null
> +++ b/include/linux/suspend_block_dev.h
> @@ -0,0 +1,25 @@
> +/* include/linux/suspend_block_dev.h
> + *
> + * Copyright (C) 2009 Google, Inc.
> + *
> + * This software is licensed under the terms of the GNU General Public
> + * License version 2, as published by the Free Software Foundation, and
> + * may be copied, distributed, and modified under those terms.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + */
> +
> +#ifndef _LINUX_SUSPEND_BLOCK_DEV_H
> +#define _LINUX_SUSPEND_BLOCK_DEV_H
> +
> +#include <linux/ioctl.h>
> +
> +#define SUSPEND_BLOCKER_IOCTL_INIT(len) _IOC(_IOC_WRITE, 's', 0, len)
> +#define SUSPEND_BLOCKER_IOCTL_BLOCK _IO('s', 1)
> +#define SUSPEND_BLOCKER_IOCTL_UNBLOCK _IO('s', 2)
> +
> +#endif
> diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
> index 55a06a1..fe5a2f2 100644
> --- a/kernel/power/Kconfig
> +++ b/kernel/power/Kconfig
> @@ -146,6 +146,15 @@ config OPPORTUNISTIC_SUSPEND
> determines the sleep state the system will be put into when there are
> no active suspend blockers.
>
> +config USER_SUSPEND_BLOCKERS
> + bool "Userspace suspend blockers"
> + depends on OPPORTUNISTIC_SUSPEND
> + default y
> + ---help---
> + User-space suspend block api. Creates a misc device with ioctls
> + to create, block and unblock a suspend_blocker. The suspend_blocker
> + will be deleted when the device is closed.
> +
> config HIBERNATION_NVS
> bool
>
> diff --git a/kernel/power/Makefile b/kernel/power/Makefile
> index ee5276d..78f703b 100644
> --- a/kernel/power/Makefile
> +++ b/kernel/power/Makefile
> @@ -8,6 +8,7 @@ obj-$(CONFIG_PM_SLEEP) += console.o
> obj-$(CONFIG_FREEZER) += process.o
> obj-$(CONFIG_SUSPEND) += suspend.o
> obj-$(CONFIG_OPPORTUNISTIC_SUSPEND) += suspend_blocker.o
> +obj-$(CONFIG_USER_SUSPEND_BLOCKERS) += user_suspend_blocker.o
> obj-$(CONFIG_PM_TEST_SUSPEND) += suspend_test.o
> obj-$(CONFIG_HIBERNATION) += hibernate.o snapshot.o swap.o user.o
> obj-$(CONFIG_HIBERNATION_NVS) += hibernate_nvs.o
> diff --git a/kernel/power/user_suspend_blocker.c b/kernel/power/user_suspend_blocker.c
> new file mode 100644
> index 0000000..dc1d06f
> --- /dev/null
> +++ b/kernel/power/user_suspend_blocker.c
> @@ -0,0 +1,128 @@
> +/* kernel/power/user_suspend_block.c
> + *
> + * Copyright (C) 2009-2010 Google, Inc.
> + *
> + * This software is licensed under the terms of the GNU General Public
> + * License version 2, as published by the Free Software Foundation, and
> + * may be copied, distributed, and modified under those terms.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + */
> +
> +#include <linux/fs.h>
> +#include <linux/miscdevice.h>
> +#include <linux/module.h>
> +#include <linux/uaccess.h>
> +#include <linux/slab.h>
> +#include <linux/suspend_blocker.h>
> +#include <linux/suspend_block_dev.h>
> +
> +enum {
> + DEBUG_FAILURE = BIT(0),
> +};
> +static int debug_mask = DEBUG_FAILURE;
> +module_param_named(debug_mask, debug_mask, int, S_IRUGO | S_IWUSR | S_IWGRP);
> +
> +static DEFINE_MUTEX(ioctl_lock);
> +
> +struct user_suspend_blocker {
> + struct suspend_blocker blocker;
> + char name[0];
> +};
> +
> +static int create_user_suspend_blocker(struct file *file, void __user *name,
> + size_t name_len)
> +{
> + struct user_suspend_blocker *bl;
> + if (file->private_data)
> + return -EBUSY;
> + if (name_len > NAME_MAX)
> + return -ENAMETOOLONG;
> + bl = kzalloc(sizeof(*bl) + name_len + 1, GFP_KERNEL);
> + if (!bl)
> + return -ENOMEM;
> + if (copy_from_user(bl->name, name, name_len))
> + goto err_fault;
> + suspend_blocker_init(&bl->blocker, bl->name);
> + file->private_data = bl;
Hmm. It doesn't seem to be possible to create two different suspend blockers
using the same file handle. So, what exactly is a process supposed to do to
use two suspend blockers at the same time?
Rafael
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm
next prev parent reply other threads:[~2010-05-02 21:23 UTC|newest]
Thread overview: 262+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1272667021-21312-1-git-send-email-arve@android.com>
2010-04-30 22:36 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-05-03 16:40 ` [PATCH 0/8] Suspend block api (version 6) Kevin Hilman
[not found] ` <1272667021-21312-2-git-send-email-arve@android.com>
2010-04-30 22:36 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 4/8] PM: suspend_block: Add debugfs file Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 5/8] PM: suspend_block: Add suspend_blocker stats Arve Hjønnevåg
2010-04-30 22:36 ` [PATCH 6/8] PM: Add suspend blocking work Arve Hjønnevåg
2010-04-30 22:37 ` [PATCH 7/8] Input: Block suspend while event queue is not empty Arve Hjønnevåg
[not found] ` <1272667021-21312-8-git-send-email-arve@android.com>
2010-04-30 22:37 ` [PATCH 8/8] power_supply: Block suspend while power supply change notifications are pending Arve Hjønnevåg
2010-05-01 6:14 ` [PATCH 6/8] PM: Add suspend blocking work Tejun Heo
2010-05-02 7:05 ` Pavel Machek
2010-05-04 11:16 ` [PATCH 4/8] PM: suspend_block: Add debugfs file Andi Kleen
[not found] ` <87mxwf533b.fsf@basil.nowhere.org>
2010-05-04 21:06 ` Arve Hjønnevåg
2010-05-02 6:57 ` [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active Pavel Machek
2010-05-02 7:04 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Pavel Machek
2010-05-02 21:23 ` Rafael J. Wysocki [this message]
2010-05-02 21:56 ` Alan Stern
2010-05-02 6:56 ` [PATCH 1/8] PM: Add suspend block api Pavel Machek
2010-05-02 7:01 ` Pavel Machek
[not found] ` <20100502065635.GA1790@ucw.cz>
2010-05-02 20:10 ` Rafael J. Wysocki
[not found] ` <201005022210.54018.rjw@sisk.pl>
2010-05-02 20:52 ` Pavel Machek
[not found] ` <20100502205238.GC9051@elf.ucw.cz>
2010-05-02 21:29 ` Rafael J. Wysocki
[not found] ` <201005022329.48309.rjw@sisk.pl>
2010-05-03 19:01 ` Pavel Machek
[not found] ` <20100503190136.GA4173@ucw.cz>
2010-05-03 21:38 ` Rafael J. Wysocki
2010-05-04 5:12 ` mark gross
[not found] ` <20100504051256.GC3043@thegnar.org>
2010-05-04 13:59 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1005040953510.1729-100000@iolanthe.rowland.org>
2010-05-04 16:03 ` mark gross
2010-05-04 20:40 ` Arve Hjønnevåg
2010-05-13 19:01 ` Paul Walmsley
2010-05-14 20:05 ` Paul Walmsley
[not found] ` <87wrvl5479.fsf@deeprootsystems.com>
2010-05-03 17:12 ` [PATCH 0/8] Suspend block api (version 6) Alan Stern
2010-05-03 18:07 ` Mark Brown
2010-05-03 21:50 ` Matthew Garrett
2010-05-05 20:35 ` mark gross
2010-05-10 18:06 ` Kevin Hilman
[not found] ` <87632vhbs8.fsf@deeprootsystems.com>
2010-05-10 20:25 ` Rafael J. Wysocki
[not found] ` <201005102225.52431.rjw@sisk.pl>
2010-05-11 16:12 ` Tony Lindgren
[not found] ` <20100511161227.GD13600@atomide.com>
2010-05-11 16:14 ` Matthew Garrett
[not found] ` <20100511161448.GA16148@srcf.ucam.org>
2010-05-11 16:36 ` Tony Lindgren
[not found] ` <20100511163632.GE13600@atomide.com>
2010-05-11 16:45 ` Matthew Garrett
[not found] ` <20100511164554.GA17016@srcf.ucam.org>
2010-05-11 16:58 ` Tony Lindgren
[not found] ` <20100511165821.GA13931@atomide.com>
2010-05-11 17:03 ` Matthew Garrett
[not found] ` <20100511170348.GA17443@srcf.ucam.org>
2010-05-11 17:24 ` Tony Lindgren
[not found] ` <20100511172442.GB13931@atomide.com>
2010-05-11 17:30 ` Matthew Garrett
[not found] ` <20100511173036.GB17868@srcf.ucam.org>
2010-05-11 17:48 ` Tony Lindgren
[not found] ` <20100511174857.GC13931@atomide.com>
2010-05-11 18:01 ` Matthew Garrett
2010-05-11 18:19 ` Rafael J. Wysocki
2010-05-12 1:11 ` Arve Hjønnevåg
[not found] ` <AANLkTikJV-wQX9xh8mRVptebJBctcRrQaUls-IGDhQar@mail.gmail.com>
2010-05-12 11:22 ` Mark Brown
[not found] ` <20100503180741.GB2098@rakim.wolfsonmicro.main>
2010-05-03 21:18 ` Rafael J. Wysocki
2010-05-14 17:39 ` Paul Walmsley
[not found] ` <201005032318.35383.rjw@sisk.pl>
2010-05-03 23:37 ` Kevin Hilman
[not found] ` <87sk68r1zh.fsf@deeprootsystems.com>
2010-05-04 0:09 ` Arve Hjønnevåg
[not found] ` <s2qd6200be21005031709r28420f0ezf3cf286517ee9114@mail.gmail.com>
2010-05-04 0:43 ` Brian Swetland
[not found] ` <w2pa55d774e1005031743x859e82fz401346fae7fe873a@mail.gmail.com>
2010-05-04 13:59 ` Mark Brown
[not found] ` <20100504135907.GA3651@opensource.wolfsonmicro.com>
2010-05-04 18:06 ` Kevin Hilman
[not found] ` <87r5lrh780.fsf@deeprootsystems.com>
2010-05-04 19:06 ` Mark Brown
2010-05-04 20:23 ` Rafael J. Wysocki
2010-05-04 20:44 ` Rafael J. Wysocki
2010-05-04 23:56 ` Mark Brown
[not found] ` <20100504235644.GA5231@opensource.wolfsonmicro.com>
2010-05-05 0:22 ` Rafael J. Wysocki
[not found] ` <201005050222.31038.rjw@sisk.pl>
2010-05-05 1:11 ` Brian Swetland
2010-05-05 11:06 ` Mark Brown
[not found] ` <20100505110630.GA5754@opensource.wolfsonmicro.com>
2010-05-05 12:00 ` Brian Swetland
[not found] ` <j2xa55d774e1005050500ocaa77b0di8e9eb58ce9c82d58@mail.gmail.com>
2010-05-05 13:56 ` Mark Brown
[not found] ` <20100505135621.GB7139@rakim.wolfsonmicro.main>
2010-05-05 17:33 ` Matthew Garrett
[not found] ` <20100505173337.GA1671@srcf.ucam.org>
2010-05-05 18:36 ` Alan Stern
2010-05-05 18:39 ` Mark Brown
[not found] ` <Pine.LNX.4.44L0.1005051432120.1885-100000@iolanthe.rowland.org>
2010-05-05 18:52 ` Matthew Garrett
2010-05-05 19:07 ` Mark Brown
2010-05-05 15:35 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1005051133210.1885-100000@iolanthe.rowland.org>
2010-05-05 16:27 ` Mark Brown
[not found] ` <20100504190656.GA4611@opensource.wolfsonmicro.com>
2010-05-04 20:37 ` Rafael J. Wysocki
[not found] ` <201005042237.56844.rjw@sisk.pl>
2010-05-04 23:14 ` Kevin Hilman
[not found] ` <87wrvjdztr.fsf@deeprootsystems.com>
2010-05-04 23:42 ` Rafael J. Wysocki
2010-05-04 18:04 ` Kevin Hilman
2010-05-14 20:27 ` Paul Walmsley
2010-05-14 22:18 ` Arve Hjønnevåg
2010-05-15 2:25 ` Alan Stern
2010-05-15 4:02 ` Arve Hjønnevåg
2010-05-15 21:25 ` Alan Stern
2010-05-17 4:54 ` Arve Hjønnevåg
2010-05-18 2:26 ` Paul Walmsley
2010-05-18 3:21 ` Arve Hjønnevåg
2010-05-18 7:03 ` Henrik Rydberg
2010-05-18 19:39 ` Rafael J. Wysocki
2010-05-25 9:41 ` Paul Walmsley
2010-05-25 23:08 ` Arve Hjønnevåg
2010-05-26 7:23 ` Linus WALLEIJ
2010-05-26 16:01 ` Alan Stern
2010-05-27 7:46 ` Linus WALLEIJ
2010-05-27 8:04 ` Florian Mickler
2010-05-27 8:40 ` Arve Hjønnevåg
2010-05-27 15:33 ` Alan Stern
2010-05-28 11:54 ` Linus WALLEIJ
2010-05-20 23:37 ` David Brownell
2010-05-25 16:51 ` Dmitry Torokhov
2010-05-25 18:25 ` Alan Stern
2010-05-25 18:33 ` Dmitry Torokhov
2010-05-25 22:05 ` Arve Hjønnevåg
2010-05-25 22:28 ` Dmitry Torokhov
2010-05-04 0:43 ` Matthew Garrett
[not found] ` <20100504004338.GA22678@srcf.ucam.org>
2010-05-04 13:51 ` Alan Stern
2010-05-04 15:13 ` Kevin Hilman
[not found] ` <Pine.LNX.4.44L0.1005040949060.1729-100000@iolanthe.rowland.org>
2010-05-04 14:53 ` Mark Brown
2010-05-04 15:13 ` Kevin Hilman
2010-05-04 15:27 ` Matthew Garrett
[not found] ` <20100504152724.GA2184@srcf.ucam.org>
2010-05-06 1:40 ` Magnus Damm
2010-05-14 20:53 ` Paul Walmsley
[not found] ` <878w7zog3e.fsf@deeprootsystems.com>
2010-05-04 15:28 ` Matthew Garrett
2010-05-14 20:36 ` Paul Walmsley
2010-05-14 20:02 ` Paul Walmsley
[not found] ` <20100503215028.GB18910@srcf.ucam.org>
2010-05-14 20:20 ` Paul Walmsley
2010-05-14 20:32 ` Matthew Garrett
2010-05-14 22:32 ` Kevin Hilman
2010-05-14 22:37 ` Arve Hjønnevåg
2010-05-15 19:47 ` Rafael J. Wysocki
2010-05-15 19:55 ` Brian Swetland
2010-05-15 23:51 ` Rafael J. Wysocki
2010-05-16 0:31 ` Brian Swetland
2010-05-14 23:15 ` tytso
2010-05-15 19:52 ` Rafael J. Wysocki
2010-05-16 19:01 ` Mark Brown
2010-05-18 1:39 ` Paul Walmsley
2010-05-18 1:55 ` Matthew Garrett
2010-05-19 16:17 ` Paul Walmsley
2010-05-19 16:25 ` Matthew Garrett
2010-05-21 16:51 ` Paul Walmsley
2010-05-21 17:01 ` Paul Walmsley
2010-05-21 17:09 ` Matthew Garrett
2010-05-17 5:58 ` Magnus Damm
2010-05-17 16:12 ` Kevin Hilman
2010-05-17 19:27 ` Vitaly Wool
2010-05-17 19:34 ` Matthew Garrett
2010-05-17 19:50 ` Daniel Walker
2010-05-17 20:00 ` Matthew Garrett
2010-05-17 20:02 ` Brian Swetland
2010-05-17 20:53 ` Linus WALLEIJ
2010-05-17 21:06 ` Matthew Garrett
2010-05-17 21:16 ` Linus WALLEIJ
2010-05-17 21:24 ` Matthew Garrett
2010-05-17 21:29 ` Daniel Walker
2010-05-17 21:35 ` Matthew Garrett
2010-05-17 21:39 ` Daniel Walker
2010-05-17 21:27 ` Kevin Hilman
2010-05-17 21:34 ` Matthew Garrett
2010-05-17 22:56 ` Kevin Hilman
2010-05-17 21:36 ` Brian Swetland
2010-05-18 2:40 ` tytso
2010-05-17 20:07 ` Mike Chan
[not found] ` <AANLkTil7358FHTlFZ0LqwymkiZZ-7An0HlaOTVhTkpgW@mail.gmail.com>
2010-05-17 20:17 ` Vitaly Wool
[not found] ` <AANLkTikEIuVEhJXSx4kP4sGMP8LBepuJI5jBjqSxoH7F@mail.gmail.com>
2010-05-17 21:04 ` Mike Chan
2010-05-17 22:55 ` Kevin Hilman
[not found] ` <87mxvyt9xz.fsf@deeprootsystems.com>
2010-05-17 23:04 ` Brian Swetland
2010-05-17 20:15 ` Rafael J. Wysocki
2010-05-30 12:21 ` tytso
2010-05-31 6:06 ` Igor Stoppa
2010-05-24 18:57 ` Pavel Machek
[not found] ` <20100524185754.GD1292@ucw.cz>
2010-05-24 19:08 ` Matthew Garrett
2010-05-25 1:16 ` Arve Hjønnevåg
[not found] ` <AANLkTilR3CgkLRfxMN_A79kuC_KOgsfW4oNUDPZFlZFW@mail.gmail.com>
2010-05-26 17:32 ` Pavel Machek
2010-05-13 3:35 ` Paul Walmsley
[not found] ` <alpine.DEB.2.00.1005122118530.7624@utopia.booyaka.com>
2010-05-13 12:17 ` Matthew Garrett
2010-05-13 14:16 ` Alan Stern
[not found] ` <20100513121745.GA10749@srcf.ucam.org>
2010-05-13 17:33 ` Daniel Walker
[not found] ` <1273771990.19100.13.camel@c-dwalke-linux.qualcomm.com>
2010-05-13 18:17 ` Brian Swetland
[not found] ` <s2ga55d774e1005131117yd138c59bk54cc109401eb4a8d@mail.gmail.com>
2010-05-13 18:25 ` Daniel Walker
2010-05-13 18:36 ` Matthew Garrett
[not found] ` <20100513183646.GA18155@srcf.ucam.org>
2010-05-13 18:59 ` Daniel Walker
[not found] ` <1273777177.19100.24.camel@c-dwalke-linux.qualcomm.com>
2010-05-13 19:11 ` Matthew Garrett
[not found] ` <20100513191142.GA18886@srcf.ucam.org>
2010-05-13 19:36 ` Daniel Walker
[not found] ` <1273779394.19100.47.camel@c-dwalke-linux.qualcomm.com>
2010-05-13 19:48 ` Matthew Garrett
[not found] ` <20100513194820.GA19722@srcf.ucam.org>
2010-05-13 21:11 ` Rafael J. Wysocki
[not found] ` <201005132311.26293.rjw@sisk.pl>
2010-05-13 21:16 ` Daniel Walker
[not found] ` <1273785399.19100.98.camel@c-dwalke-linux.qualcomm.com>
2010-05-13 21:27 ` Rafael J. Wysocki
[not found] ` <201005132327.16163.rjw@sisk.pl>
2010-05-13 21:33 ` Daniel Walker
[not found] ` <1273786409.19100.104.camel@c-dwalke-linux.qualcomm.com>
2010-05-13 21:36 ` Tony Lindgren
2010-05-13 21:46 ` Greg KH
[not found] ` <20100513213656.GL3428@atomide.com>
2010-05-13 21:54 ` Rafael J. Wysocki
[not found] ` <20100513214653.GA21120@suse.de>
2010-05-13 22:27 ` Mark Brown
2010-05-13 22:33 ` Woodruff, Richard
[not found] ` <20100513222748.GA3240@opensource.wolfsonmicro.com>
2010-05-13 22:45 ` Greg KH
2010-05-13 22:46 ` Rafael J. Wysocki
[not found] ` <201005140046.33508.rjw@sisk.pl>
2010-05-13 23:36 ` Mark Brown
2010-05-13 23:48 ` Brian Swetland
[not found] ` <r2qa55d774e1005131648i1702d3b2ob6bc823e4a4a113c@mail.gmail.com>
2010-05-14 0:29 ` Mark Brown
[not found] ` <20100513224503.GA23014@suse.de>
2010-05-14 0:03 ` Mark Brown
[not found] ` <13B9B4C6EF24D648824FF11BE896716203BB0EEAE9@dlee02.ent.ti.com>
2010-05-13 22:46 ` Greg KH
2010-05-13 23:06 ` Arve Hjønnevåg
2010-05-13 23:28 ` Brian Swetland
2010-05-14 16:47 ` Daniel Walker
[not found] ` <Pine.LNX.4.44L0.1005131002380.1695-100000@iolanthe.rowland.org>
2010-05-13 19:17 ` Tony Lindgren
[not found] ` <20100513191717.GA3428@atomide.com>
2010-05-13 19:25 ` Matthew Garrett
[not found] ` <20100513192522.GA19256@srcf.ucam.org>
2010-05-13 19:42 ` Tony Lindgren
[not found] ` <20100513194205.GC3428@atomide.com>
2010-05-13 19:53 ` Matthew Garrett
[not found] ` <20100513195349.GB19722@srcf.ucam.org>
2010-05-13 20:00 ` Tony Lindgren
[not found] ` <20100513200003.GE3428@atomide.com>
2010-05-13 20:08 ` Matthew Garrett
[not found] ` <20100513200814.GA20254@srcf.ucam.org>
2010-05-13 20:23 ` Tony Lindgren
[not found] ` <20100513202320.GF3428@atomide.com>
2010-05-13 20:34 ` Matthew Garrett
2010-05-13 20:36 ` Daniel Walker
[not found] ` <20100513203412.GA21244@srcf.ucam.org>
2010-05-13 21:10 ` Tony Lindgren
[not found] ` <20100513211006.GG3428@atomide.com>
2010-05-13 21:21 ` Matthew Garrett
[not found] ` <20100513212108.GA22103@srcf.ucam.org>
2010-05-13 21:34 ` Tony Lindgren
[not found] ` <20100513213455.GK3428@atomide.com>
2010-05-15 19:54 ` Matthew Garrett
2010-05-13 21:21 ` Rafael J. Wysocki
[not found] ` <201005132321.59245.rjw@sisk.pl>
2010-05-13 21:25 ` Tony Lindgren
[not found] ` <20100513212556.GI3428@atomide.com>
2010-05-13 21:56 ` Rafael J. Wysocki
2010-05-13 22:24 ` tytso
[not found] ` <201005132356.21355.rjw@sisk.pl>
2010-05-14 20:41 ` Kevin Hilman
[not found] ` <878w7mgqse.fsf@deeprootsystems.com>
2010-05-14 21:25 ` Rafael J. Wysocki
2010-05-14 21:40 ` Kevin Hilman
[not found] ` <87tyqaduvr.fsf@deeprootsystems.com>
2010-05-14 21:50 ` Rafael J. Wysocki
2010-05-14 22:45 ` Kevin Hilman
[not found] ` <87k4r69k61.fsf@deeprootsystems.com>
2010-05-14 22:59 ` Brian Swetland
2010-05-15 20:14 ` Rafael J. Wysocki
[not found] ` <201005152214.33691.rjw@sisk.pl>
2010-05-16 19:44 ` Mark Brown
2010-05-14 16:06 ` Kevin Hilman
2010-05-24 21:25 ` Pavel Machek
2010-05-13 21:41 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1005131740370.1731-100000@iolanthe.rowland.org>
2010-05-13 21:54 ` Tony Lindgren
[not found] ` <20100513215404.GN3428@atomide.com>
2010-05-13 22:07 ` Rafael J. Wysocki
2010-05-13 22:26 ` Arve Hjønnevåg
2010-05-13 21:14 ` Rafael J. Wysocki
[not found] ` <201005132314.22497.rjw@sisk.pl>
2010-05-13 21:31 ` Tony Lindgren
[not found] ` <20100513213121.GJ3428@atomide.com>
2010-05-13 21:57 ` Rafael J. Wysocki
2010-05-13 21:37 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1005131729510.1731-100000@iolanthe.rowland.org>
2010-05-13 21:47 ` Tony Lindgren
[not found] ` <20100513214739.GM3428@atomide.com>
2010-05-13 22:01 ` Alan Stern
2010-05-13 22:04 ` Rafael J. Wysocki
[not found] ` <Pine.LNX.4.44L0.1005131756420.1731-100000@iolanthe.rowland.org>
2010-05-13 22:08 ` Tony Lindgren
[not found] ` <20100513220814.GP3428@atomide.com>
2010-05-13 22:28 ` Rafael J. Wysocki
2010-05-14 3:25 ` Magnus Damm
[not found] ` <AANLkTilL2mvqpwirTfJRWZFdrFJvSihnaY8-xao4pLpH@mail.gmail.com>
2010-05-14 16:18 ` Kevin Hilman
2010-05-15 2:47 ` Alan Stern
2010-05-24 21:24 ` Pavel Machek
[not found] <Pine.LNX.4.44L0.1005261815480.1328-100000@iolanthe.rowland.org>
2010-05-26 22:34 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Rafael J. Wysocki
[not found] <201005262357.28933.rjw@sisk.pl>
2010-05-26 22:18 ` Alan Stern
2010-05-26 22:18 ` Alan Stern
[not found] <1274482015-30899-1-git-send-email-arve@android.com>
[not found] ` <1274482015-30899-2-git-send-email-arve@android.com>
2010-05-21 22:46 ` Arve Hjønnevåg
[not found] ` <1274482015-30899-3-git-send-email-arve@android.com>
2010-05-26 8:43 ` Peter Zijlstra
[not found] ` <1274863428.5882.4860.camel@twins>
2010-05-26 10:47 ` Arve Hjønnevåg
[not found] ` <AANLkTimTnzK1ByG2bE2gGjINxD_Pbvez7PFHo7Kzo9yk@mail.gmail.com>
2010-05-26 10:50 ` Peter Zijlstra
2010-05-26 10:51 ` Florian Mickler
[not found] ` <20100526125136.53f2dc82@schatten.dmk.lab>
2010-05-26 11:06 ` Peter Zijlstra
[not found] ` <1274871005.5882.5315.camel@twins>
2010-05-26 23:13 ` Arve Hjønnevåg
2010-05-26 21:57 ` Rafael J. Wysocki
[not found] <1273810273-3039-1-git-send-email-arve@android.com>
2010-05-14 4:11 ` [PATCH 1/8] PM: Add suspend block api Arve Hjønnevåg
2010-05-14 4:11 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
[not found] <Pine.LNX.4.44L0.1005021755320.30701-100000@netrider.rowland.org>
2010-05-03 15:03 ` Rafael J. Wysocki
[not found] ` <201005031703.11448.rjw@sisk.pl>
2010-05-03 21:26 ` Arve Hjønnevåg
[not found] ` <m2yd6200be21005031426n87ea43a0k968fd5898ce0b873@mail.gmail.com>
2010-05-03 21:49 ` Rafael J. Wysocki
[not found] ` <201005032349.00876.rjw@sisk.pl>
2010-05-03 22:01 ` Arve Hjønnevåg
[not found] ` <x2id6200be21005031501p7f151324wb8bbf928bc2cb25e@mail.gmail.com>
2010-05-04 20:02 ` Rafael J. Wysocki
2010-05-04 4:16 ` Pavel Machek
[not found] <1272429119-12103-1-git-send-email-arve@android.com>
[not found] ` <1272429119-12103-2-git-send-email-arve@android.com>
2010-04-28 4:31 ` Arve Hjønnevåg
2010-04-28 20:58 ` Rafael J. Wysocki
[not found] ` <201004282258.51354.rjw@sisk.pl>
2010-04-28 22:31 ` Arve Hjønnevåg
[not found] ` <k2gd6200be21004281531y270549d7g8383f2c8a55038d4@mail.gmail.com>
2010-04-28 23:05 ` Rafael J. Wysocki
[not found] ` <201004290105.15707.rjw@sisk.pl>
2010-04-28 23:38 ` Arve Hjønnevåg
[not found] ` <h2jd6200be21004281638y6b751abesfcf6416707e6fee4@mail.gmail.com>
2010-04-29 21:11 ` Rafael J. Wysocki
2010-04-29 23:41 ` Arve Hjønnevåg
2009-04-15 1:41 [RFC][PATCH 0/8] Suspend block api Arve Hjønnevåg
2009-04-15 1:41 ` [PATCH 1/8] PM: Add suspend " Arve Hjønnevåg
2009-04-15 1:41 ` [PATCH 2/8] PM: suspend_block: Add driver to access suspend blockers from user-space Arve Hjønnevåg
2009-04-29 22:52 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201005022323.30128.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=arve@android.com \
--cc=avi@redhat.com \
--cc=damm@igel.co.jp \
--cc=gregkh@suse.de \
--cc=jim.collar@eqware.net \
--cc=konishi.ryusuke@lab.ntt.co.jp \
--cc=len.brown@intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=oleg@redhat.com \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox