aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-27 17:19:17 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-27 17:19:17 -0400
commit50f732ee63b91eb08a29974b36bd63e1150bb642 (patch)
treefdfc63411a34ffbe26a3b0a997aaeff742a0301b /include/linux/usb.h
parentaa5bc2b58e3344da57f26b62e99e13e91c9e0a94 (diff)
parenta7205b30106a2d4ee268132644cdb292da2d9b41 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (78 commits) USB: update MAINAINERS and CREDITS for Freescale USB driver USB: update gadget files for fsl_usb2_udc driver USB: add Freescale high-speed USB SOC device controller driver USB: quirk for broken suspend of IT8152F/G USB: iowarrior.c: timeouts too small in usb_control_msg calls USB: dell device id for option.c USB: Remove Huawei unusual_devs entry USB: CP2101 New Device IDs USB: add picdem device to ldusb usbfs micro optimitation USB: remove ancient/broken CRIS hcd usb ethernet gadget, workaround network stack API glitch USB: add "busnum" attribute for USB devices USB: cxacru: ADSL state management usbatm: Detect usb device shutdown and ignore failed urbs USB: Remove duplicate define of OHCI_QUIRK_ZFMICRO USB: BandRich BandLuxe HSDPA Data Card Driver USB gadget rndis: fix struct rndis_packet_msg_type unaligned bug USB Elan FTDI: check for driver registration status USB: sierra: add more checks on shutdown ...
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r--include/linux/usb.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 87dc75a6cee1..cfbd2bb8fa2c 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -299,8 +299,9 @@ struct usb_bus {
299 int bandwidth_int_reqs; /* number of Interrupt requests */ 299 int bandwidth_int_reqs; /* number of Interrupt requests */
300 int bandwidth_isoc_reqs; /* number of Isoc. requests */ 300 int bandwidth_isoc_reqs; /* number of Isoc. requests */
301 301
302#ifdef CONFIG_USB_DEVICEFS
302 struct dentry *usbfs_dentry; /* usbfs dentry entry for the bus */ 303 struct dentry *usbfs_dentry; /* usbfs dentry entry for the bus */
303 304#endif
304 struct class_device *class_dev; /* class device for this bus */ 305 struct class_device *class_dev; /* class device for this bus */
305 306
306#if defined(CONFIG_USB_MON) 307#if defined(CONFIG_USB_MON)
@@ -373,9 +374,12 @@ struct usb_device {
373 char *serial; /* iSerialNumber string, if present */ 374 char *serial; /* iSerialNumber string, if present */
374 375
375 struct list_head filelist; 376 struct list_head filelist;
376 struct device *usbfs_dev; 377#ifdef CONFIG_USB_DEVICE_CLASS
378 struct device *usb_classdev;
379#endif
380#ifdef CONFIG_USB_DEVICEFS
377 struct dentry *usbfs_dentry; /* usbfs dentry entry for the device */ 381 struct dentry *usbfs_dentry; /* usbfs dentry entry for the device */
378 382#endif
379 /* 383 /*
380 * Child devices - these can be either new devices 384 * Child devices - these can be either new devices
381 * (if this is a hub device), or different instances 385 * (if this is a hub device), or different instances
@@ -394,10 +398,13 @@ struct usb_device {
394 struct delayed_work autosuspend; /* for delayed autosuspends */ 398 struct delayed_work autosuspend; /* for delayed autosuspends */
395 struct mutex pm_mutex; /* protects PM operations */ 399 struct mutex pm_mutex; /* protects PM operations */
396 400
397 unsigned autosuspend_delay; /* in jiffies */ 401 unsigned long last_busy; /* time of last use */
402 int autosuspend_delay; /* in jiffies */
398 403
399 unsigned auto_pm:1; /* autosuspend/resume in progress */ 404 unsigned auto_pm:1; /* autosuspend/resume in progress */
400 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */ 405 unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */
406 unsigned autosuspend_disabled:1; /* autosuspend and autoresume */
407 unsigned autoresume_disabled:1; /* disabled by the user */
401#endif 408#endif
402}; 409};
403#define to_usb_device(d) container_of(d, struct usb_device, dev) 410#define to_usb_device(d) container_of(d, struct usb_device, dev)
@@ -437,6 +444,11 @@ static inline void usb_autopm_disable(struct usb_interface *intf)
437 usb_autopm_set_interface(intf); 444 usb_autopm_set_interface(intf);
438} 445}
439 446
447static inline void usb_mark_last_busy(struct usb_device *udev)
448{
449 udev->last_busy = jiffies;
450}
451
440#else 452#else
441 453
442static inline int usb_autopm_set_interface(struct usb_interface *intf) 454static inline int usb_autopm_set_interface(struct usb_interface *intf)
@@ -451,6 +463,8 @@ static inline void usb_autopm_enable(struct usb_interface *intf)
451{ } 463{ }
452static inline void usb_autopm_disable(struct usb_interface *intf) 464static inline void usb_autopm_disable(struct usb_interface *intf)
453{ } 465{ }
466static inline void usb_mark_last_busy(struct usb_device *udev)
467{ }
454#endif 468#endif
455 469
456/*-------------------------------------------------------------------------*/ 470/*-------------------------------------------------------------------------*/