PM / wakeup: Add dev_wakeup_path() helper
From: patrice.chotard
Date: Fri Mar 20 2020 - 07:33:01 EST
From: Patrice Chotard <patrice.chotard@xxxxxx>
Add dev_wakeup_path() helper to avoid to spread
dev->power.wakeup_path test in drivers.
In case CONFIG_PM_SLEEP is not set, wakeup_path is not defined,
dev_wakeup_path() is returning false.
Signed-off-by: Patrice Chotard <patrice.chotard@xxxxxx>
---
Currently, in mainline kernel, no drivers are testing dev->power.wakeup_path
for PM purpose. A stm32 serial driver patch will be submitted soon and will
make usage of this helper.
include/linux/pm_wakeup.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/linux/pm_wakeup.h b/include/linux/pm_wakeup.h
index aa3da6611533..d0bd13c19253 100644
--- a/include/linux/pm_wakeup.h
+++ b/include/linux/pm_wakeup.h
@@ -84,6 +84,11 @@ static inline bool device_may_wakeup(struct device *dev)
return dev->power.can_wakeup && !!dev->power.wakeup;
}
+static inline bool device_wakeup_path(struct device *dev)
+{
+ return !!dev->power.wakeup_path;
+}
+
static inline void device_set_wakeup_path(struct device *dev)
{
dev->power.wakeup_path = true;
@@ -174,6 +179,11 @@ static inline bool device_may_wakeup(struct device *dev)
return dev->power.can_wakeup && dev->power.should_wakeup;
}
+static inline bool device_wakeup_path(struct device *dev)
+{
+ return false;
+}
+
static inline void device_set_wakeup_path(struct device *dev) {}
static inline void __pm_stay_awake(struct wakeup_source *ws) {}
--
2.17.1