diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2010-04-02 13:22:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-20 16:21:37 -0400 |
commit | a90309860b0935805d49e75499fb8dc59fea8e94 (patch) | |
tree | 2d5ed0376a0f0ead945afdaa11be00a48bc0af6c /Documentation/usb/power-management.txt | |
parent | 9e18c821659d836bd63f88df3c19729327728496 (diff) |
USB: deprecate the power/level sysfs attribute
This patch (as1367) deprecates USB's power/level sysfs attribute in
favor of the power/control attribute provided by the runtime PM core.
The two attributes do the same thing.
It would be nice to replace power/level with a symlink to
power/control, but at the moment sysfs doesn't offer any way to do so.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/usb/power-management.txt')
-rw-r--r-- | Documentation/usb/power-management.txt | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Documentation/usb/power-management.txt b/Documentation/usb/power-management.txt index 2790ad48cfc2..b29d8e56cf28 100644 --- a/Documentation/usb/power-management.txt +++ b/Documentation/usb/power-management.txt | |||
@@ -107,7 +107,9 @@ allowed to issue dynamic suspends. | |||
107 | The user interface for controlling dynamic PM is located in the power/ | 107 | The user interface for controlling dynamic PM is located in the power/ |
108 | subdirectory of each USB device's sysfs directory, that is, in | 108 | subdirectory of each USB device's sysfs directory, that is, in |
109 | /sys/bus/usb/devices/.../power/ where "..." is the device's ID. The | 109 | /sys/bus/usb/devices/.../power/ where "..." is the device's ID. The |
110 | relevant attribute files are: wakeup, level, and autosuspend. | 110 | relevant attribute files are: wakeup, control, and autosuspend. |
111 | (There may also be a file named "level"; this file was deprecated | ||
112 | as of the 2.6.35 kernel and replaced by the "control" file.) | ||
111 | 113 | ||
112 | power/wakeup | 114 | power/wakeup |
113 | 115 | ||
@@ -120,7 +122,7 @@ relevant attribute files are: wakeup, level, and autosuspend. | |||
120 | while the device is suspended, the change won't take | 122 | while the device is suspended, the change won't take |
121 | effect until the following suspend.) | 123 | effect until the following suspend.) |
122 | 124 | ||
123 | power/level | 125 | power/control |
124 | 126 | ||
125 | This file contains one of two words: "on" or "auto". | 127 | This file contains one of two words: "on" or "auto". |
126 | You can write those words to the file to change the | 128 | You can write those words to the file to change the |
@@ -148,14 +150,15 @@ relevant attribute files are: wakeup, level, and autosuspend. | |||
148 | never to autosuspend. You can write a number to the | 150 | never to autosuspend. You can write a number to the |
149 | file to change the autosuspend idle-delay time. | 151 | file to change the autosuspend idle-delay time. |
150 | 152 | ||
151 | Writing "-1" to power/autosuspend and writing "on" to power/level do | 153 | Writing "-1" to power/autosuspend and writing "on" to power/control do |
152 | essentially the same thing -- they both prevent the device from being | 154 | essentially the same thing -- they both prevent the device from being |
153 | autosuspended. Yes, this is a redundancy in the API. | 155 | autosuspended. Yes, this is a redundancy in the API. |
154 | 156 | ||
155 | (In 2.6.21 writing "0" to power/autosuspend would prevent the device | 157 | (In 2.6.21 writing "0" to power/autosuspend would prevent the device |
156 | from being autosuspended; the behavior was changed in 2.6.22. The | 158 | from being autosuspended; the behavior was changed in 2.6.22. The |
157 | power/autosuspend attribute did not exist prior to 2.6.21, and the | 159 | power/autosuspend attribute did not exist prior to 2.6.21, and the |
158 | power/level attribute did not exist prior to 2.6.22.) | 160 | power/level attribute did not exist prior to 2.6.22. power/control |
161 | was added in 2.6.34.) | ||
159 | 162 | ||
160 | 163 | ||
161 | Changing the default idle-delay time | 164 | Changing the default idle-delay time |
@@ -212,7 +215,7 @@ among printers and scanners, but plenty of other types of device have | |||
212 | the same deficiency. | 215 | the same deficiency. |
213 | 216 | ||
214 | For this reason, by default the kernel disables autosuspend (the | 217 | For this reason, by default the kernel disables autosuspend (the |
215 | power/level attribute is initialized to "on") for all devices other | 218 | power/control attribute is initialized to "on") for all devices other |
216 | than hubs. Hubs, at least, appear to be reasonably well-behaved in | 219 | than hubs. Hubs, at least, appear to be reasonably well-behaved in |
217 | this regard. | 220 | this regard. |
218 | 221 | ||
@@ -373,7 +376,7 @@ usb_autopm_put_interface() in its close or release routine. But other | |||
373 | patterns are possible. | 376 | patterns are possible. |
374 | 377 | ||
375 | The autosuspend attempts mentioned above will often fail for one | 378 | The autosuspend attempts mentioned above will often fail for one |
376 | reason or another. For example, the power/level attribute might be | 379 | reason or another. For example, the power/control attribute might be |
377 | set to "on", or another interface in the same device might not be | 380 | set to "on", or another interface in the same device might not be |
378 | idle. This is perfectly normal. If the reason for failure was that | 381 | idle. This is perfectly normal. If the reason for failure was that |
379 | the device hasn't been idle for long enough, a timer is scheduled to | 382 | the device hasn't been idle for long enough, a timer is scheduled to |
@@ -394,12 +397,12 @@ Drivers can enable autosuspend for their devices by calling | |||
394 | 397 | ||
395 | in their probe() routine, if they know that the device is capable of | 398 | in their probe() routine, if they know that the device is capable of |
396 | suspending and resuming correctly. This is exactly equivalent to | 399 | suspending and resuming correctly. This is exactly equivalent to |
397 | writing "auto" to the device's power/level attribute. Likewise, | 400 | writing "auto" to the device's power/control attribute. Likewise, |
398 | drivers can disable autosuspend by calling | 401 | drivers can disable autosuspend by calling |
399 | 402 | ||
400 | usb_disable_autosuspend(struct usb_device *udev); | 403 | usb_disable_autosuspend(struct usb_device *udev); |
401 | 404 | ||
402 | This is exactly the same as writing "on" to the power/level attribute. | 405 | This is exactly the same as writing "on" to the power/control attribute. |
403 | 406 | ||
404 | Sometimes a driver needs to make sure that remote wakeup is enabled | 407 | Sometimes a driver needs to make sure that remote wakeup is enabled |
405 | during autosuspend. For example, there's not much point | 408 | during autosuspend. For example, there's not much point |