]> Pileus Git - ~andy/linux/blobdiff - include/linux/usb/hcd.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[~andy/linux] / include / linux / usb / hcd.h
index d28cc78a38e442e75e435c0dede140291c57ce2c..7f855d50cdf5567b66b31f2bfb073ac025357c00 100644 (file)
@@ -344,6 +344,15 @@ struct hc_driver {
                 */
        int     (*update_device)(struct usb_hcd *, struct usb_device *);
        int     (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int);
+       /* USB 3.0 Link Power Management */
+               /* Returns the USB3 hub-encoded value for the U1/U2 timeout. */
+       int     (*enable_usb3_lpm_timeout)(struct usb_hcd *,
+                       struct usb_device *, enum usb3_link_state state);
+               /* The xHCI host controller can still fail the command to
+                * disable the LPM timeouts, so this can return an error code.
+                */
+       int     (*disable_usb3_lpm_timeout)(struct usb_hcd *,
+                       struct usb_device *, enum usb3_link_state state);
 };
 
 extern int usb_hcd_link_urb_to_ep(struct usb_hcd *hcd, struct urb *urb);
@@ -584,29 +593,6 @@ static inline void usb_hcd_resume_root_hub(struct usb_hcd *hcd)
 }
 #endif /* CONFIG_USB_SUSPEND */
 
-
-/*
- * USB device fs stuff
- */
-
-#ifdef CONFIG_USB_DEVICEFS
-
-/*
- * these are expected to be called from the USB core/hub thread
- * with the kernel lock held
- */
-extern void usbfs_update_special(void);
-extern int usbfs_init(void);
-extern void usbfs_cleanup(void);
-
-#else /* CONFIG_USB_DEVICEFS */
-
-static inline void usbfs_update_special(void) {}
-static inline int usbfs_init(void) { return 0; }
-static inline void usbfs_cleanup(void) { }
-
-#endif /* CONFIG_USB_DEVICEFS */
-
 /*-------------------------------------------------------------------------*/
 
 #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE)