|
@@ -1,5 +1,11 @@
|
|
|
#include <linux/pm_qos.h>
|
|
|
|
|
|
+static inline void device_pm_init_common(struct device *dev)
|
|
|
+{
|
|
|
+ spin_lock_init(&dev->power.lock);
|
|
|
+ dev->power.power_state = PMSG_INVALID;
|
|
|
+}
|
|
|
+
|
|
|
#ifdef CONFIG_PM_RUNTIME
|
|
|
|
|
|
extern void pm_runtime_init(struct device *dev);
|
|
@@ -25,7 +31,7 @@ static inline struct device *to_device(struct list_head *entry)
|
|
|
return container_of(entry, struct device, power.entry);
|
|
|
}
|
|
|
|
|
|
-extern void device_pm_init(struct device *dev);
|
|
|
+extern void device_pm_sleep_init(struct device *dev);
|
|
|
extern void device_pm_add(struct device *);
|
|
|
extern void device_pm_remove(struct device *);
|
|
|
extern void device_pm_move_before(struct device *, struct device *);
|
|
@@ -34,12 +40,7 @@ extern void device_pm_move_last(struct device *);
|
|
|
|
|
|
#else /* !CONFIG_PM_SLEEP */
|
|
|
|
|
|
-static inline void device_pm_init(struct device *dev)
|
|
|
-{
|
|
|
- spin_lock_init(&dev->power.lock);
|
|
|
- dev->power.power_state = PMSG_INVALID;
|
|
|
- pm_runtime_init(dev);
|
|
|
-}
|
|
|
+static inline void device_pm_sleep_init(struct device *dev) {}
|
|
|
|
|
|
static inline void device_pm_add(struct device *dev)
|
|
|
{
|
|
@@ -60,6 +61,13 @@ static inline void device_pm_move_last(struct device *dev) {}
|
|
|
|
|
|
#endif /* !CONFIG_PM_SLEEP */
|
|
|
|
|
|
+static inline void device_pm_init(struct device *dev)
|
|
|
+{
|
|
|
+ device_pm_init_common(dev);
|
|
|
+ device_pm_sleep_init(dev);
|
|
|
+ pm_runtime_init(dev);
|
|
|
+}
|
|
|
+
|
|
|
#ifdef CONFIG_PM
|
|
|
|
|
|
/*
|