aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/power/main.c1
-rw-r--r--drivers/base/power/power.h1
-rw-r--r--include/linux/device.h6
3 files changed, 7 insertions, 1 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 200ed5fafd50..bdc03f7e8424 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -129,6 +129,7 @@ void device_pm_schedule_removal(struct device *dev)
129 list_move_tail(&dev->power.entry, &dpm_destroy); 129 list_move_tail(&dev->power.entry, &dpm_destroy);
130 mutex_unlock(&dpm_list_mtx); 130 mutex_unlock(&dpm_list_mtx);
131} 131}
132EXPORT_SYMBOL_GPL(device_pm_schedule_removal);
132 133
133/** 134/**
134 * pm_sleep_lock - mutual exclusion for registration and suspend 135 * pm_sleep_lock - mutual exclusion for registration and suspend
diff --git a/drivers/base/power/power.h b/drivers/base/power/power.h
index 6f0dfca8ebdd..e32d3bdb92c1 100644
--- a/drivers/base/power/power.h
+++ b/drivers/base/power/power.h
@@ -13,7 +13,6 @@ static inline struct device *to_device(struct list_head *entry)
13 13
14extern void device_pm_add(struct device *); 14extern void device_pm_add(struct device *);
15extern void device_pm_remove(struct device *); 15extern void device_pm_remove(struct device *);
16extern void device_pm_schedule_removal(struct device *);
17extern int pm_sleep_lock(void); 16extern int pm_sleep_lock(void);
18extern void pm_sleep_unlock(void); 17extern void pm_sleep_unlock(void);
19 18
diff --git a/include/linux/device.h b/include/linux/device.h
index db375be333c7..479c0b31593c 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -534,11 +534,17 @@ extern struct device *device_create(struct class *cls, struct device *parent,
534extern void device_destroy(struct class *cls, dev_t devt); 534extern void device_destroy(struct class *cls, dev_t devt);
535#ifdef CONFIG_PM_SLEEP 535#ifdef CONFIG_PM_SLEEP
536extern void destroy_suspended_device(struct class *cls, dev_t devt); 536extern void destroy_suspended_device(struct class *cls, dev_t devt);
537extern void device_pm_schedule_removal(struct device *);
537#else /* !CONFIG_PM_SLEEP */ 538#else /* !CONFIG_PM_SLEEP */
538static inline void destroy_suspended_device(struct class *cls, dev_t devt) 539static inline void destroy_suspended_device(struct class *cls, dev_t devt)
539{ 540{
540 device_destroy(cls, devt); 541 device_destroy(cls, devt);
541} 542}
543
544static inline void device_pm_schedule_removal(struct device *dev)
545{
546 device_unregister(dev);
547}
542#endif /* !CONFIG_PM_SLEEP */ 548#endif /* !CONFIG_PM_SLEEP */
543 549
544/* 550/*