diff options
Diffstat (limited to 'include/linux/usb.h')
| -rw-r--r-- | include/linux/usb.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index 30d1ae38eab1..07915a32fb9d 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -384,6 +384,13 @@ enum usb_device_removable { | |||
| 384 | USB_DEVICE_FIXED, | 384 | USB_DEVICE_FIXED, |
| 385 | }; | 385 | }; |
| 386 | 386 | ||
| 387 | enum usb_port_connect_type { | ||
| 388 | USB_PORT_CONNECT_TYPE_UNKNOWN = 0, | ||
| 389 | USB_PORT_CONNECT_TYPE_HOT_PLUG, | ||
| 390 | USB_PORT_CONNECT_TYPE_HARD_WIRED, | ||
| 391 | USB_PORT_NOT_USED, | ||
| 392 | }; | ||
| 393 | |||
| 387 | /* | 394 | /* |
| 388 | * USB 3.0 Link Power Management (LPM) parameters. | 395 | * USB 3.0 Link Power Management (LPM) parameters. |
| 389 | * | 396 | * |
| @@ -469,7 +476,6 @@ struct usb3_lpm_parameters { | |||
| 469 | * access from userspace | 476 | * access from userspace |
| 470 | * @usbfs_dentry: usbfs dentry entry for the device | 477 | * @usbfs_dentry: usbfs dentry entry for the device |
| 471 | * @maxchild: number of ports if hub | 478 | * @maxchild: number of ports if hub |
| 472 | * @children: child devices - USB devices that are attached to this hub | ||
| 473 | * @quirks: quirks of the whole device | 479 | * @quirks: quirks of the whole device |
| 474 | * @urbnum: number of URBs submitted for the whole device | 480 | * @urbnum: number of URBs submitted for the whole device |
| 475 | * @active_duration: total time device is not suspended | 481 | * @active_duration: total time device is not suspended |
| @@ -543,7 +549,6 @@ struct usb_device { | |||
| 543 | struct list_head filelist; | 549 | struct list_head filelist; |
| 544 | 550 | ||
| 545 | int maxchild; | 551 | int maxchild; |
| 546 | struct usb_device **children; | ||
| 547 | 552 | ||
| 548 | u32 quirks; | 553 | u32 quirks; |
| 549 | atomic_t urbnum; | 554 | atomic_t urbnum; |
| @@ -572,6 +577,19 @@ static inline struct usb_device *interface_to_usbdev(struct usb_interface *intf) | |||
| 572 | 577 | ||
| 573 | extern struct usb_device *usb_get_dev(struct usb_device *dev); | 578 | extern struct usb_device *usb_get_dev(struct usb_device *dev); |
| 574 | extern void usb_put_dev(struct usb_device *dev); | 579 | extern void usb_put_dev(struct usb_device *dev); |
| 580 | extern struct usb_device *usb_hub_find_child(struct usb_device *hdev, | ||
| 581 | int port1); | ||
| 582 | |||
| 583 | /** | ||
| 584 | * usb_hub_for_each_child - iterate over all child devices on the hub | ||
| 585 | * @hdev: USB device belonging to the usb hub | ||
| 586 | * @port1: portnum associated with child device | ||
| 587 | * @child: child device pointer | ||
| 588 | */ | ||
| 589 | #define usb_hub_for_each_child(hdev, port1, child) \ | ||
| 590 | for (port1 = 1, child = usb_hub_find_child(hdev, port1); \ | ||
| 591 | port1 <= hdev->maxchild; \ | ||
| 592 | child = usb_hub_find_child(hdev, ++port1)) | ||
| 575 | 593 | ||
| 576 | /* USB device locking */ | 594 | /* USB device locking */ |
| 577 | #define usb_lock_device(udev) device_lock(&(udev)->dev) | 595 | #define usb_lock_device(udev) device_lock(&(udev)->dev) |
| @@ -584,6 +602,16 @@ extern int usb_lock_device_for_reset(struct usb_device *udev, | |||
| 584 | extern int usb_reset_device(struct usb_device *dev); | 602 | extern int usb_reset_device(struct usb_device *dev); |
| 585 | extern void usb_queue_reset_device(struct usb_interface *dev); | 603 | extern void usb_queue_reset_device(struct usb_interface *dev); |
| 586 | 604 | ||
| 605 | #ifdef CONFIG_ACPI | ||
| 606 | extern int usb_acpi_set_power_state(struct usb_device *hdev, int index, | ||
| 607 | bool enable); | ||
| 608 | extern bool usb_acpi_power_manageable(struct usb_device *hdev, int index); | ||
| 609 | #else | ||
| 610 | static inline int usb_acpi_set_power_state(struct usb_device *hdev, int index, | ||
| 611 | bool enable) { return 0; } | ||
| 612 | static inline bool usb_acpi_power_manageable(struct usb_device *hdev, int index) | ||
| 613 | { return true; } | ||
| 614 | #endif | ||
| 587 | 615 | ||
| 588 | /* USB autosuspend and autoresume */ | 616 | /* USB autosuspend and autoresume */ |
| 589 | #ifdef CONFIG_USB_SUSPEND | 617 | #ifdef CONFIG_USB_SUSPEND |
