summaryrefslogtreecommitdiff
path: root/include/linux/suspend.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-11-24 09:16:30 +0300
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-11-24 09:16:30 +0300
commit1e43bee9c70654b4d52472c19e5f0a0cc18b6b36 (patch)
treeff601ec0c0d14125d0324f21b3c7e6d5e19fa252 /include/linux/suspend.h
parent7d6709a20866a885916214590b7c394a21be9e25 (diff)
parenta8a8a669ea13d792296737505adc43ccacf3a648 (diff)
downloadlinux-1e43bee9c70654b4d52472c19e5f0a0cc18b6b36.tar.xz
Merge commit 'origin/master' into next
Diffstat (limited to 'include/linux/suspend.h')
-rw-r--r--include/linux/suspend.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index cd15df6c63cd..5e781d824e6d 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -301,6 +301,8 @@ static inline int unregister_pm_notifier(struct notifier_block *nb)
#define pm_notifier(fn, pri) do { (void)(fn); } while (0)
#endif /* !CONFIG_PM_SLEEP */
+extern struct mutex pm_mutex;
+
#ifndef CONFIG_HIBERNATION
static inline void register_nosave_region(unsigned long b, unsigned long e)
{
@@ -308,8 +310,23 @@ static inline void register_nosave_region(unsigned long b, unsigned long e)
static inline void register_nosave_region_late(unsigned long b, unsigned long e)
{
}
-#endif
-extern struct mutex pm_mutex;
+static inline void lock_system_sleep(void) {}
+static inline void unlock_system_sleep(void) {}
+
+#else
+
+/* Let some subsystems like memory hotadd exclude hibernation */
+
+static inline void lock_system_sleep(void)
+{
+ mutex_lock(&pm_mutex);
+}
+
+static inline void unlock_system_sleep(void)
+{
+ mutex_unlock(&pm_mutex);
+}
+#endif
#endif /* _LINUX_SUSPEND_H */