diff options
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r-- | include/linux/usb.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index f72aa51f7bcd..859a88e6ce9c 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -398,6 +398,7 @@ struct usb_tt; | |||
398 | * @urbnum: number of URBs submitted for the whole device | 398 | * @urbnum: number of URBs submitted for the whole device |
399 | * @active_duration: total time device is not suspended | 399 | * @active_duration: total time device is not suspended |
400 | * @autosuspend: for delayed autosuspends | 400 | * @autosuspend: for delayed autosuspends |
401 | * @autoresume: for autoresumes requested while in_interrupt | ||
401 | * @pm_mutex: protects PM operations | 402 | * @pm_mutex: protects PM operations |
402 | * @last_busy: time of last use | 403 | * @last_busy: time of last use |
403 | * @autosuspend_delay: in jiffies | 404 | * @autosuspend_delay: in jiffies |
@@ -476,6 +477,7 @@ struct usb_device { | |||
476 | 477 | ||
477 | #ifdef CONFIG_PM | 478 | #ifdef CONFIG_PM |
478 | struct delayed_work autosuspend; | 479 | struct delayed_work autosuspend; |
480 | struct work_struct autoresume; | ||
479 | struct mutex pm_mutex; | 481 | struct mutex pm_mutex; |
480 | 482 | ||
481 | unsigned long last_busy; | 483 | unsigned long last_busy; |
@@ -513,6 +515,8 @@ extern struct usb_device *usb_find_device(u16 vendor_id, u16 product_id); | |||
513 | extern int usb_autopm_set_interface(struct usb_interface *intf); | 515 | extern int usb_autopm_set_interface(struct usb_interface *intf); |
514 | extern int usb_autopm_get_interface(struct usb_interface *intf); | 516 | extern int usb_autopm_get_interface(struct usb_interface *intf); |
515 | extern void usb_autopm_put_interface(struct usb_interface *intf); | 517 | extern void usb_autopm_put_interface(struct usb_interface *intf); |
518 | extern int usb_autopm_get_interface_async(struct usb_interface *intf); | ||
519 | extern void usb_autopm_put_interface_async(struct usb_interface *intf); | ||
516 | 520 | ||
517 | static inline void usb_autopm_enable(struct usb_interface *intf) | 521 | static inline void usb_autopm_enable(struct usb_interface *intf) |
518 | { | 522 | { |
@@ -539,8 +543,13 @@ static inline int usb_autopm_set_interface(struct usb_interface *intf) | |||
539 | static inline int usb_autopm_get_interface(struct usb_interface *intf) | 543 | static inline int usb_autopm_get_interface(struct usb_interface *intf) |
540 | { return 0; } | 544 | { return 0; } |
541 | 545 | ||
546 | static inline int usb_autopm_get_interface_async(struct usb_interface *intf) | ||
547 | { return 0; } | ||
548 | |||
542 | static inline void usb_autopm_put_interface(struct usb_interface *intf) | 549 | static inline void usb_autopm_put_interface(struct usb_interface *intf) |
543 | { } | 550 | { } |
551 | static inline void usb_autopm_put_interface_async(struct usb_interface *intf) | ||
552 | { } | ||
544 | static inline void usb_autopm_enable(struct usb_interface *intf) | 553 | static inline void usb_autopm_enable(struct usb_interface *intf) |
545 | { } | 554 | { } |
546 | static inline void usb_autopm_disable(struct usb_interface *intf) | 555 | static inline void usb_autopm_disable(struct usb_interface *intf) |