usb/persist.txt: convert to ReST and add to driver-api book

This document describe some USB core features. Add it to the
driver-api book.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Mauro Carvalho Chehab 2017-04-05 10:23:09 -03:00 committed by Jonathan Corbet
parent 76f650f077
commit 32a3bebce9
2 changed files with 14 additions and 9 deletions

View File

@ -12,6 +12,7 @@ Linux USB API
dma dma
power-management power-management
hotplug hotplug
persist
error-codes error-codes
writing_usb_driver writing_usb_driver
writing_musb_glue_layer writing_musb_glue_layer

View File

@ -1,11 +1,12 @@
USB device persistence during system suspend USB device persistence during system suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alan Stern <stern@rowland.harvard.edu> :Author: Alan Stern <stern@rowland.harvard.edu>
:Date: September 2, 2006 (Updated February 25, 2008)
September 2, 2006 (Updated February 25, 2008)
What is the problem? What is the problem?
====================
According to the USB specification, when a USB bus is suspended the According to the USB specification, when a USB bus is suspended the
bus must continue to supply suspend current (around 1-5 mA). This bus must continue to supply suspend current (around 1-5 mA). This
@ -63,7 +64,8 @@ suspended -- but it will crash as soon as it wakes up, which isn't
much better.) much better.)
What is the solution? What is the solution?
=====================
The kernel includes a feature called USB-persist. It tries to work The kernel includes a feature called USB-persist. It tries to work
around these issues by allowing the core USB device data structures to around these issues by allowing the core USB device data structures to
@ -99,7 +101,7 @@ now a good and happy place.
Note that the "USB-persist" feature will be applied only to those Note that the "USB-persist" feature will be applied only to those
devices for which it is enabled. You can enable the feature by doing devices for which it is enabled. You can enable the feature by doing
(as root): (as root)::
echo 1 >/sys/bus/usb/devices/.../power/persist echo 1 >/sys/bus/usb/devices/.../power/persist
@ -110,7 +112,8 @@ doesn't even exist, so you only have to worry about setting it for
devices where it really matters. devices where it really matters.
Is this the best solution? Is this the best solution?
==========================
Perhaps not. Arguably, keeping track of mounted filesystems and Perhaps not. Arguably, keeping track of mounted filesystems and
memory mappings across device disconnects should be handled by a memory mappings across device disconnects should be handled by a
@ -130,7 +133,8 @@ just mass-storage devices. It might turn out to be equally useful for
other device types, such as network interfaces. other device types, such as network interfaces.
WARNING: USB-persist can be dangerous!! WARNING: USB-persist can be dangerous!!
=======================================
When recovering an interrupted power session the kernel does its best When recovering an interrupted power session the kernel does its best
to make sure the USB device hasn't been changed; that is, the same to make sure the USB device hasn't been changed; that is, the same