Comment 5 for bug 1011415

Add more description from Sarah about this feature:

This is an Intel-specific feature. When a USB port is powered off, VBUS is
removed, and port events are lost (device connect & disconnect, remote wake
from USB device suspend, and overcurrent events). OEMs may power-gang several
ports together, so VBUS may not be removed until several ports are powered off.

The main use case is to be able to power off internal USB ports that are empty,
or have USB devices that are in USB device suspend (U3) without remote wakeup
enabled. For example, a suspended webcam may not have remote wakeup enabled,
but a USB 3G modem might have remote wake enabled. If BIOS writers have done
their job right, we should be able to find out via ACPI tables which USB ports
are external and which are internal (marked as "no physical disconnect").

Another use case is to power down external ports when the user is not
interacting with the system. This would be useful for someone who has a HSW
Ultrabook, who is on a plane, trying to get the very most out of their battery.
 Gnome, KDE, or XFCE could provide a checkbox in the display power savings
settings that says "Power off USB ports on screen blank". The kernel will
provide a sysfs file to mark each port as needing to be powered off, and
userspace should write to those files when that option is selected.

The USB port power off mechanism is probably not useful on servers, since BMC
devices may disconnect and connect on internal USB ports, and a blank screen is
not necessarily indicative of an inactive user. Plus, the ports will not save
that much power.

The ACPI patches are being pushed upstream by Tianyu Lan. Tianyu is also
working on the port power off policy sysfs interface.