| .. | .. |
|---|
| 21 | 21 | extern void pm_runtime_init(struct device *dev); |
|---|
| 22 | 22 | extern void pm_runtime_reinit(struct device *dev); |
|---|
| 23 | 23 | extern void pm_runtime_remove(struct device *dev); |
|---|
| 24 | +extern u64 pm_runtime_active_time(struct device *dev); |
|---|
| 24 | 25 | |
|---|
| 25 | 26 | #define WAKE_IRQ_DEDICATED_ALLOCATED BIT(0) |
|---|
| 26 | 27 | #define WAKE_IRQ_DEDICATED_MANAGED BIT(1) |
|---|
| .. | .. |
|---|
| 73 | 74 | extern void pm_qos_sysfs_remove_flags(struct device *dev); |
|---|
| 74 | 75 | extern int pm_qos_sysfs_add_latency_tolerance(struct device *dev); |
|---|
| 75 | 76 | extern void pm_qos_sysfs_remove_latency_tolerance(struct device *dev); |
|---|
| 77 | +extern int dpm_sysfs_change_owner(struct device *dev, kuid_t kuid, kgid_t kgid); |
|---|
| 76 | 78 | |
|---|
| 77 | 79 | #else /* CONFIG_PM */ |
|---|
| 78 | 80 | |
|---|
| .. | .. |
|---|
| 87 | 89 | |
|---|
| 88 | 90 | static inline int dpm_sysfs_add(struct device *dev) { return 0; } |
|---|
| 89 | 91 | static inline void dpm_sysfs_remove(struct device *dev) {} |
|---|
| 92 | +static inline int dpm_sysfs_change_owner(struct device *dev, kuid_t kuid, |
|---|
| 93 | + kgid_t kgid) { return 0; } |
|---|
| 90 | 94 | |
|---|
| 91 | 95 | #endif |
|---|
| 92 | 96 | |
|---|
| .. | .. |
|---|
| 116 | 120 | return dev->power.in_dpm_list; |
|---|
| 117 | 121 | } |
|---|
| 118 | 122 | |
|---|
| 123 | +/* drivers/base/power/wakeup_stats.c */ |
|---|
| 124 | +extern int wakeup_source_sysfs_add(struct device *parent, |
|---|
| 125 | + struct wakeup_source *ws); |
|---|
| 126 | +extern void wakeup_source_sysfs_remove(struct wakeup_source *ws); |
|---|
| 127 | + |
|---|
| 128 | +extern int pm_wakeup_source_sysfs_add(struct device *parent); |
|---|
| 129 | + |
|---|
| 119 | 130 | #else /* !CONFIG_PM_SLEEP */ |
|---|
| 120 | 131 | |
|---|
| 121 | 132 | static inline void device_pm_sleep_init(struct device *dev) {} |
|---|
| .. | .. |
|---|
| 140 | 151 | return device_is_registered(dev); |
|---|
| 141 | 152 | } |
|---|
| 142 | 153 | |
|---|
| 154 | +static inline int pm_wakeup_source_sysfs_add(struct device *parent) |
|---|
| 155 | +{ |
|---|
| 156 | + return 0; |
|---|
| 157 | +} |
|---|
| 158 | + |
|---|
| 143 | 159 | #endif /* !CONFIG_PM_SLEEP */ |
|---|
| 144 | 160 | |
|---|
| 145 | 161 | static inline void device_pm_init(struct device *dev) |
|---|
| .. | .. |
|---|
| 148 | 164 | device_pm_sleep_init(dev); |
|---|
| 149 | 165 | pm_runtime_init(dev); |
|---|
| 150 | 166 | } |
|---|
| 151 | | - |
|---|
| 152 | | -#ifdef CONFIG_PM_SLEEP |
|---|
| 153 | | - |
|---|
| 154 | | -/* drivers/base/power/wakeup_stats.c */ |
|---|
| 155 | | -extern int wakeup_source_sysfs_add(struct device *parent, |
|---|
| 156 | | - struct wakeup_source *ws); |
|---|
| 157 | | -extern void wakeup_source_sysfs_remove(struct wakeup_source *ws); |
|---|
| 158 | | - |
|---|
| 159 | | -extern int pm_wakeup_source_sysfs_add(struct device *parent); |
|---|
| 160 | | - |
|---|
| 161 | | -#else /* !CONFIG_PM_SLEEP */ |
|---|
| 162 | | - |
|---|
| 163 | | -static inline int pm_wakeup_source_sysfs_add(struct device *parent) |
|---|
| 164 | | -{ |
|---|
| 165 | | - return 0; |
|---|
| 166 | | -} |
|---|
| 167 | | - |
|---|
| 168 | | -#endif /* CONFIG_PM_SLEEP */ |
|---|