aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2007-05-04 11:52:20 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-12 19:29:47 -0400
commit0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c (patch)
tree8b1fcb4f063ef4aa6f2e3cd41a60d986a1e432d4 /include
parentce7cd137fced114d49178b73d468b82096a107fb (diff)
USB: add USB-Persist facility
This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include')
-rw-r--r--include/linux/usb.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 56aa2ee21f1b..3d63e0c2dd70 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -403,6 +403,7 @@ struct usb_device {
403 403
404 unsigned auto_pm:1; /* autosuspend/resume in progress */ 404 unsigned auto_pm:1; /* autosuspend/resume in progress */
405 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */ 405 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */
406 unsigned reset_resume:1; /* needs reset instead of resume */
406 unsigned autosuspend_disabled:1; /* autosuspend and autoresume */ 407 unsigned autosuspend_disabled:1; /* autosuspend and autoresume */
407 unsigned autoresume_disabled:1; /* disabled by the user */ 408 unsigned autoresume_disabled:1; /* disabled by the user */
408#endif 409#endif
@@ -819,7 +820,10 @@ struct usbdrv_wrap {
819 * @pre_reset: Called by usb_reset_composite_device() when the device 820 * @pre_reset: Called by usb_reset_composite_device() when the device
820 * is about to be reset. 821 * is about to be reset.
821 * @post_reset: Called by usb_reset_composite_device() after the device 822 * @post_reset: Called by usb_reset_composite_device() after the device
822 * has been reset. 823 * has been reset, or in lieu of @resume following a reset-resume
824 * (i.e., the device is reset instead of being resumed, as might
825 * happen if power was lost). The second argument tells which is
826 * the reason.
823 * @id_table: USB drivers use ID table to support hotplugging. 827 * @id_table: USB drivers use ID table to support hotplugging.
824 * Export this with MODULE_DEVICE_TABLE(usb,...). This must be set 828 * Export this with MODULE_DEVICE_TABLE(usb,...). This must be set
825 * or your driver's probe function will never get called. 829 * or your driver's probe function will never get called.
@@ -861,7 +865,7 @@ struct usb_driver {
861 int (*resume) (struct usb_interface *intf); 865 int (*resume) (struct usb_interface *intf);
862 866
863 void (*pre_reset) (struct usb_interface *intf); 867 void (*pre_reset) (struct usb_interface *intf);
864 void (*post_reset) (struct usb_interface *intf); 868 void (*post_reset) (struct usb_interface *intf, int reset_resume);
865 869
866 const struct usb_device_id *id_table; 870 const struct usb_device_id *id_table;
867 871