diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/device.h | 6 | ||||
-rw-r--r-- | include/linux/pm.h | 3 | ||||
-rw-r--r-- | include/linux/resume-trace.h | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index a62799f2ab00..70adc5f3f50a 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -472,6 +472,12 @@ static inline int device_is_registered(struct device *dev) | |||
472 | return dev->kobj.state_in_sysfs; | 472 | return dev->kobj.state_in_sysfs; |
473 | } | 473 | } |
474 | 474 | ||
475 | static inline void device_enable_async_suspend(struct device *dev) | ||
476 | { | ||
477 | if (dev->power.status == DPM_ON) | ||
478 | dev->power.async_suspend = true; | ||
479 | } | ||
480 | |||
475 | void driver_init(void); | 481 | void driver_init(void); |
476 | 482 | ||
477 | /* | 483 | /* |
diff --git a/include/linux/pm.h b/include/linux/pm.h index 25b1eca8049d..9c16cd20fc96 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/spinlock.h> | 26 | #include <linux/spinlock.h> |
27 | #include <linux/wait.h> | 27 | #include <linux/wait.h> |
28 | #include <linux/timer.h> | 28 | #include <linux/timer.h> |
29 | #include <linux/completion.h> | ||
29 | 30 | ||
30 | /* | 31 | /* |
31 | * Callbacks for platform drivers to implement. | 32 | * Callbacks for platform drivers to implement. |
@@ -412,9 +413,11 @@ struct dev_pm_info { | |||
412 | pm_message_t power_state; | 413 | pm_message_t power_state; |
413 | unsigned int can_wakeup:1; | 414 | unsigned int can_wakeup:1; |
414 | unsigned int should_wakeup:1; | 415 | unsigned int should_wakeup:1; |
416 | unsigned async_suspend:1; | ||
415 | enum dpm_state status; /* Owned by the PM core */ | 417 | enum dpm_state status; /* Owned by the PM core */ |
416 | #ifdef CONFIG_PM_SLEEP | 418 | #ifdef CONFIG_PM_SLEEP |
417 | struct list_head entry; | 419 | struct list_head entry; |
420 | struct completion completion; | ||
418 | #endif | 421 | #endif |
419 | #ifdef CONFIG_PM_RUNTIME | 422 | #ifdef CONFIG_PM_RUNTIME |
420 | struct timer_list suspend_timer; | 423 | struct timer_list suspend_timer; |
diff --git a/include/linux/resume-trace.h b/include/linux/resume-trace.h index c9ba2fdf807d..bc8c3881c729 100644 --- a/include/linux/resume-trace.h +++ b/include/linux/resume-trace.h | |||
@@ -6,6 +6,11 @@ | |||
6 | 6 | ||
7 | extern int pm_trace_enabled; | 7 | extern int pm_trace_enabled; |
8 | 8 | ||
9 | static inline int pm_trace_is_enabled(void) | ||
10 | { | ||
11 | return pm_trace_enabled; | ||
12 | } | ||
13 | |||
9 | struct device; | 14 | struct device; |
10 | extern void set_trace_device(struct device *); | 15 | extern void set_trace_device(struct device *); |
11 | extern void generate_resume_trace(const void *tracedata, unsigned int user); | 16 | extern void generate_resume_trace(const void *tracedata, unsigned int user); |
@@ -17,6 +22,8 @@ extern void generate_resume_trace(const void *tracedata, unsigned int user); | |||
17 | 22 | ||
18 | #else | 23 | #else |
19 | 24 | ||
25 | static inline int pm_trace_is_enabled(void) { return 0; } | ||
26 | |||
20 | #define TRACE_DEVICE(dev) do { } while (0) | 27 | #define TRACE_DEVICE(dev) do { } while (0) |
21 | #define TRACE_RESUME(dev) do { } while (0) | 28 | #define TRACE_RESUME(dev) do { } while (0) |
22 | 29 | ||