diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 17:07:06 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 17:07:06 -0400 |
| commit | 468f4d1a855f8039dabf441b8bf68cae264033ff (patch) | |
| tree | 303ac5bc1ac3f86f136a30f9356e84f20dcbf13f | |
| parent | eb2689e06b3526c7684b09beecf26070f05ee825 (diff) | |
| parent | 8714c8d74d313c3ba27bf9c2aaacb1ad71c644f8 (diff) | |
Merge tag 'pm-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
- Implementation of opportunistic suspend (autosleep) and user space
interface for manipulating wakeup sources.
- Hibernate updates from Bojan Smojver and Minho Ban.
- Updates of the runtime PM core and generic PM domains framework
related to PM QoS.
- Assorted fixes.
* tag 'pm-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)
epoll: Fix user space breakage related to EPOLLWAKEUP
PM / Domains: Make it possible to add devices to inactive domains
PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format
PM / Domains: Fix computation of maximum domain off time
PM / Domains: Fix link checking when add subdomain
PM / Sleep: User space wakeup sources garbage collector Kconfig option
PM / Sleep: Make the limit of user space wakeup sources configurable
PM / Documentation: suspend-and-cpuhotplug.txt: Fix typo
PM / Domains: Cache device stop and domain power off governor results, v3
PM / Domains: Make device removal more straightforward
PM / Sleep: Fix a mistake in a conditional in autosleep_store()
epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready
PM / QoS: Create device constraints objects on notifier registration
PM / Runtime: Remove device fields related to suspend time, v2
PM / Domains: Rework default domain power off governor function, v2
PM / Domains: Rework default device stop governor function, v2
PM / Sleep: Add user space interface for manipulating wakeup sources, v3
PM / Sleep: Add "prevent autosleep time" statistics to wakeup sources
PM / Sleep: Implement opportunistic sleep, v2
PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints
...
30 files changed, 1359 insertions, 320 deletions
diff --git a/Documentation/ABI/testing/sysfs-devices-power b/Documentation/ABI/testing/sysfs-devices-power index 840f7d64d483..45000f0db4d4 100644 --- a/Documentation/ABI/testing/sysfs-devices-power +++ b/Documentation/ABI/testing/sysfs-devices-power | |||
| @@ -96,16 +96,26 @@ Description: | |||
| 96 | is read-only. If the device is not enabled to wake up the | 96 | is read-only. If the device is not enabled to wake up the |
| 97 | system from sleep states, this attribute is not present. | 97 | system from sleep states, this attribute is not present. |
| 98 | 98 | ||
| 99 | What: /sys/devices/.../power/wakeup_hit_count | 99 | What: /sys/devices/.../power/wakeup_abort_count |
| 100 | Date: September 2010 | 100 | Date: February 2012 |
| 101 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | 101 | Contact: Rafael J. Wysocki <rjw@sisk.pl> |
| 102 | Description: | 102 | Description: |
| 103 | The /sys/devices/.../wakeup_hit_count attribute contains the | 103 | The /sys/devices/.../wakeup_abort_count attribute contains the |
| 104 | number of times the processing of a wakeup event associated with | 104 | number of times the processing of a wakeup event associated with |
| 105 | the device might prevent the system from entering a sleep state. | 105 | the device might have aborted system transition into a sleep |
| 106 | This attribute is read-only. If the device is not enabled to | 106 | state in progress. This attribute is read-only. If the device |
| 107 | wake up the system from sleep states, this attribute is not | 107 | is not enabled to wake up the system from sleep states, this |
| 108 | present. | 108 | attribute is not present. |
| 109 | |||
| 110 | What: /sys/devices/.../power/wakeup_expire_count | ||
| 111 | Date: February 2012 | ||
| 112 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
| 113 | Description: | ||
| 114 | The /sys/devices/.../wakeup_expire_count attribute contains the | ||
| 115 | number of times a wakeup event associated with the device has | ||
| 116 | been reported with a timeout that expired. This attribute is | ||
| 117 | read-only. If the device is not enabled to wake up the system | ||
| 118 | from sleep states, this attribute is not present. | ||
| 109 | 119 | ||
| 110 | What: /sys/devices/.../power/wakeup_active | 120 | What: /sys/devices/.../power/wakeup_active |
| 111 | Date: September 2010 | 121 | Date: September 2010 |
| @@ -148,6 +158,17 @@ Description: | |||
| 148 | not enabled to wake up the system from sleep states, this | 158 | not enabled to wake up the system from sleep states, this |
| 149 | attribute is not present. | 159 | attribute is not present. |
| 150 | 160 | ||
| 161 | What: /sys/devices/.../power/wakeup_prevent_sleep_time_ms | ||
| 162 | Date: February 2012 | ||
| 163 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
| 164 | Description: | ||
| 165 | The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute | ||
| 166 | contains the total time the device has been preventing | ||
| 167 | opportunistic transitions to sleep states from occuring. | ||
| 168 | This attribute is read-only. If the device is not enabled to | ||
| 169 | wake up the system from sleep states, this attribute is not | ||
| 170 | present. | ||
| 171 | |||
| 151 | What: /sys/devices/.../power/autosuspend_delay_ms | 172 | What: /sys/devices/.../power/autosuspend_delay_ms |
| 152 | Date: September 2010 | 173 | Date: September 2010 |
| 153 | Contact: Alan Stern <stern@rowland.harvard.edu> | 174 | Contact: Alan Stern <stern@rowland.harvard.edu> |
diff --git a/Documentation/ABI/testing/sysfs-power b/Documentation/ABI/testing/sysfs-power index b464d12761ba..31725ffeeb3a 100644 --- a/Documentation/ABI/testing/sysfs-power +++ b/Documentation/ABI/testing/sysfs-power | |||
| @@ -172,3 +172,62 @@ Description: | |||
| 172 | 172 | ||
| 173 | Reading from this file will display the current value, which is | 173 | Reading from this file will display the current value, which is |
| 174 | set to 1 MB by default. | 174 | set to 1 MB by default. |
| 175 | |||
| 176 | What: /sys/power/autosleep | ||
| 177 | Date: April 2012 | ||
| 178 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
| 179 | Description: | ||
| 180 | The /sys/power/autosleep file can be written one of the strings | ||
| 181 | returned by reads from /sys/power/state. If that happens, a | ||
| 182 | work item attempting to trigger a transition of the system to | ||
| 183 | the sleep state represented by that string is queued up. This | ||
| 184 | attempt will only succeed if there are no active wakeup sources | ||
| 185 | in the system at that time. After every execution, regardless | ||
| 186 | of whether or not the attempt to put the system to sleep has | ||
| 187 | succeeded, the work item requeues itself until user space | ||
| 188 | writes "off" to /sys/power/autosleep. | ||
| 189 | |||
| 190 | Reading from this file causes the last string successfully | ||
| 191 | written to it to be returned. | ||
| 192 | |||
| 193 | What: /sys/power/wake_lock | ||
| 194 | Date: February 2012 | ||
| 195 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
| 196 | Description: | ||
| 197 | The /sys/power/wake_lock file allows user space to create | ||
| 198 | wakeup source objects and activate them on demand (if one of | ||
| 199 | those wakeup sources is active, reads from the | ||
| 200 | /sys/power/wakeup_count file block or return false). When a | ||
| 201 | string without white space is written to /sys/power/wake_lock, | ||
| 202 | it will be assumed to represent a wakeup source name. If there | ||
| 203 | is a wakeup source object with that name, it will be activated | ||
| 204 | (unless active already). Otherwise, a new wakeup source object | ||
| 205 | will be registered, assigned the given name and activated. | ||
| 206 | If a string written to /sys/power/wake_lock contains white | ||
| 207 | space, the part of the string preceding the white space will be | ||
| 208 | regarded as a wakeup source name and handled as descrived above. | ||
| 209 | The other part of the string will be regarded as a timeout (in | ||
| 210 | nanoseconds) such that the wakeup source will be automatically | ||
| 211 | deactivated after it has expired. The timeout, if present, is | ||
| 212 | set regardless of the current state of the wakeup source object | ||
| 213 | in question. | ||
| 214 | |||
| 215 | Reads from this file return a string consisting of the names of | ||
| 216 | wakeup sources created with the help of it that are active at | ||
| 217 | the moment, separated with spaces. | ||
| 218 | |||
| 219 | |||
| 220 | What: /sys/power/wake_unlock | ||
| 221 | Date: February 2012 | ||
| 222 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
| 223 | Description: | ||
| 224 | The /sys/power/wake_unlock file allows user space to deactivate | ||
| 225 | wakeup sources created with the help of /sys/power/wake_lock. | ||
| 226 | When a string is written to /sys/power/wake_unlock, it will be | ||
| 227 | assumed to represent the name of a wakeup source to deactivate. | ||
| 228 | If a wakeup source object of that name exists and is active at | ||
| 229 | the moment, it will be deactivated. | ||
| 230 | |||
| 231 | Reads from this file return a string consisting of the names of | ||
| 232 | wakeup sources created with the help of /sys/power/wake_lock | ||
| 233 | that are inactive at the moment, separated with spaces. | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 62aba89b04a2..8cb10f77c723 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -2463,6 +2463,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
| 2463 | 2463 | ||
| 2464 | resume= [SWSUSP] | 2464 | resume= [SWSUSP] |
| 2465 | Specify the partition device for software suspend | 2465 | Specify the partition device for software suspend |
| 2466 | Format: | ||
| 2467 | {/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>} | ||
| 2466 | 2468 | ||
| 2467 | resume_offset= [SWSUSP] | 2469 | resume_offset= [SWSUSP] |
| 2468 | Specify the offset from the beginning of the partition | 2470 | Specify the offset from the beginning of the partition |
diff --git a/Documentation/power/suspend-and-cpuhotplug.txt b/Documentation/power/suspend-and-cpuhotplug.txt index f28f9a6f0347..e13dafc8e8f1 100644 --- a/Documentation/power/suspend-and-cpuhotplug.txt +++ b/Documentation/power/suspend-and-cpuhotplug.txt | |||
| @@ -29,7 +29,7 @@ More details follow: | |||
