xref: /openbmc/linux/Documentation/ABI/testing/sysfs-bus-usb (revision 979e524a9c563376af096d2d8629b9969fc06659)
1eaafbc3aSAlan SternWhat:		/sys/bus/usb/devices/.../power/autosuspend
2eaafbc3aSAlan SternDate:		March 2007
3eaafbc3aSAlan SternKernelVersion:	2.6.21
4eaafbc3aSAlan SternContact:	Alan Stern <stern@rowland.harvard.edu>
5eaafbc3aSAlan SternDescription:
6eaafbc3aSAlan Stern		Each USB device directory will contain a file named
7eaafbc3aSAlan Stern		power/autosuspend.  This file holds the time (in seconds)
8eaafbc3aSAlan Stern		the device must be idle before it will be autosuspended.
9eaafbc3aSAlan Stern		0 means the device will be autosuspended as soon as
10eaafbc3aSAlan Stern		possible.  Negative values will prevent the device from
11eaafbc3aSAlan Stern		being autosuspended at all, and writing a negative value
12eaafbc3aSAlan Stern		will resume the device if it is already suspended.
13eaafbc3aSAlan Stern
14eaafbc3aSAlan Stern		The autosuspend delay for newly-created devices is set to
15eaafbc3aSAlan Stern		the value of the usbcore.autosuspend module parameter.
162add5229SAlan Stern
172add5229SAlan SternWhat:		/sys/bus/usb/devices/.../power/level
182add5229SAlan SternDate:		March 2007
192add5229SAlan SternKernelVersion:	2.6.21
202add5229SAlan SternContact:	Alan Stern <stern@rowland.harvard.edu>
212add5229SAlan SternDescription:
222add5229SAlan Stern		Each USB device directory will contain a file named
232add5229SAlan Stern		power/level.  This file holds a power-level setting for
242add5229SAlan Stern		the device, one of "on", "auto", or "suspend".
252add5229SAlan Stern
262add5229SAlan Stern		"on" means that the device is not allowed to autosuspend,
272add5229SAlan Stern		although normal suspends for system sleep will still
282add5229SAlan Stern		be honored.  "auto" means the device will autosuspend
292add5229SAlan Stern		and autoresume in the usual manner, according to the
302add5229SAlan Stern		capabilities of its driver.  "suspend" means the device
312add5229SAlan Stern		is forced into a suspended state and it will not autoresume
322add5229SAlan Stern		in response to I/O requests.  However remote-wakeup requests
332add5229SAlan Stern		from the device may still be enabled (the remote-wakeup
342add5229SAlan Stern		setting is controlled separately by the power/wakeup
352add5229SAlan Stern		attribute).
362add5229SAlan Stern
372add5229SAlan Stern		During normal use, devices should be left in the "auto"
382add5229SAlan Stern		level.  The other levels are meant for administrative uses.
392add5229SAlan Stern		If you want to suspend a device immediately but leave it
402add5229SAlan Stern		free to wake up in response to I/O requests, you should
412add5229SAlan Stern		write "0" to power/autosuspend.
42b41a60ecSAlan Stern
43b41a60ecSAlan SternWhat:		/sys/bus/usb/devices/.../power/persist
44b41a60ecSAlan SternDate:		May 2007
45b41a60ecSAlan SternKernelVersion:	2.6.23
46b41a60ecSAlan SternContact:	Alan Stern <stern@rowland.harvard.edu>
47b41a60ecSAlan SternDescription:
48b41a60ecSAlan Stern		If CONFIG_USB_PERSIST is set, then each USB device directory
49b41a60ecSAlan Stern		will contain a file named power/persist.  The file holds a
50b41a60ecSAlan Stern		boolean value (0 or 1) indicating whether or not the
51b41a60ecSAlan Stern		"USB-Persist" facility is enabled for the device.  Since the
52b41a60ecSAlan Stern		facility is inherently dangerous, it is disabled by default
53b41a60ecSAlan Stern		for all devices except hubs.  For more information, see
54b41a60ecSAlan Stern		Documentation/usb/persist.txt.
55*979e524aSSarah Sharp
56*979e524aSSarah SharpWhat:		/sys/bus/usb/device/.../power/connected_duration
57*979e524aSSarah SharpDate:		January 2008
58*979e524aSSarah SharpKernelVersion:	2.6.25
59*979e524aSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@intel.com>
60*979e524aSSarah SharpDescription:
61*979e524aSSarah Sharp		If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
62*979e524aSSarah Sharp		is present.  When read, it returns the total time (in msec)
63*979e524aSSarah Sharp		that the USB device has been connected to the machine.  This
64*979e524aSSarah Sharp		file is read-only.
65*979e524aSSarah SharpUsers:
66*979e524aSSarah Sharp		PowerTOP <power@bughost.org>
67*979e524aSSarah Sharp		http://www.lesswatts.org/projects/powertop/
68*979e524aSSarah Sharp
69*979e524aSSarah SharpWhat:		/sys/bus/usb/device/.../power/active_duration
70*979e524aSSarah SharpDate:		January 2008
71*979e524aSSarah SharpKernelVersion:	2.6.25
72*979e524aSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@intel.com>
73*979e524aSSarah SharpDescription:
74*979e524aSSarah Sharp		If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
75*979e524aSSarah Sharp		is present.  When read, it returns the total time (in msec)
76*979e524aSSarah Sharp		that the USB device has been active, i.e. not in a suspended
77*979e524aSSarah Sharp		state.  This file is read-only.
78*979e524aSSarah Sharp
79*979e524aSSarah Sharp		Tools can use this file and the connected_duration file to
80*979e524aSSarah Sharp		compute the percentage of time that a device has been active.
81*979e524aSSarah Sharp		For example,
82*979e524aSSarah Sharp		echo $((100 * `cat active_duration` / `cat connected_duration`))
83*979e524aSSarah Sharp		will give an integer percentage.  Note that this does not
84*979e524aSSarah Sharp		account for counter wrap.
85*979e524aSSarah SharpUsers:
86*979e524aSSarah Sharp		PowerTOP <power@bughost.org>
87*979e524aSSarah Sharp		http://www.lesswatts.org/projects/powertop/
88