[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