[linux-pm] [PATCH 05/10] PM: Add option to disable /sys/power/state interface
Arve Hjønnevåg
arve at android.com
Tue Feb 10 17:49:10 PST 2009
Signed-off-by: Arve Hjønnevåg <arve at android.com>
---
kernel/power/Kconfig | 9 +++++++++
kernel/power/main.c | 4 ++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 6abd5f2..e784014 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -133,6 +133,15 @@ config WAKELOCK_STAT
---help---
Report wake lock stats in /proc/wakelocks
+config DISABLE_SYS_POWER_STATE
+ bool "Disable /sys/power/state interface"
+ depends on WAKELOCK
+ default n
+ ---help---
+ The /sys/power/state interface does not respect wakelocks. If you
+ want to run user-space code that does not support wakelocks, do not
+ enable this option since it removes the interface.
+
config USER_WAKELOCK
bool "Userspace wake locks"
depends on WAKELOCK
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 8bdd15a..f22321d 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -483,6 +483,7 @@ struct kobject *power_kobj;
* proper enumerated value, and initiates a suspend transition.
*/
+#ifndef CONFIG_DISABLE_SYS_POWER_STATE
static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf)
{
@@ -539,6 +540,7 @@ static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr,
}
power_attr(state);
+#endif
/**
* request_state - control system power state.
@@ -622,7 +624,9 @@ power_attr(pm_trace);
#endif /* CONFIG_PM_TRACE */
static struct attribute * g[] = {
+#ifndef CONFIG_DISABLE_SYS_POWER_STATE
&state_attr.attr,
+#endif
#ifdef CONFIG_WAKELOCK
&request_state_attr.attr,
#endif
--
1.6.1
More information about the linux-pm
mailing list