Commit 32a3bebc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

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: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 76f650f0
...@@ -12,6 +12,7 @@ Linux USB API ...@@ -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
......
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 ...@@ -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. ...@@ -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 ...@@ -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 ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment