1 USBA_HCDI_HUB_UPDATE(9E)      Driver Entry Points     USBA_HCDI_HUB_UPDATE(9E)
   2 
   3 NAME
   4      usba_hcdi_hub_update - USB HCD hub update entry point
   5 
   6 SYNOPSIS
   7      #include <sys/usb/usba/hcdi.h>
   8 
   9      int
  10      prefix_hcdi_hub_update(usba_device_t *ud, uint8_t nports, uint8_t tt);
  11 
  12 INTERFACE LEVEL
  13      Volatile - illumos USB HCD private function
  14 
  15      This is a private function that is not part of the stable DDI.  It may be
  16      removed or changed at any time.
  17 
  18 PARAMETERS
  19      ud            Pointer to a USB device structure being updated.  See
  20                    usba_device(9S) for more information.
  21 
  22      nports        The number of ports present on the hub.
  23 
  24      tt            The value of the Think Time property as defined in the USB
  25                    specification's hub descriptor.
  26 
  27 DESCRIPTION
  28      The usba_hcdi_hub_update() entry point is an optional entry point for USB
  29      host controller drivers.  It is used by some controllers to allow them to
  30      update information about a device in the controller after a device has
  31      been determined to be a hub during enumeration.  If a host controller
  32      does not need to take any specific action after enumerating a hub, then
  33      it should simply set this entry point in the usba_hcdi_ops(9S) structure
  34      to NULL.
  35 
  36      The nports and tt members provide relevant information from the device's
  37      hub class descriptor which can be used to help program the host
  38      controller.  Any programming should be performed synchronously and be
  39      completed before this function returns.
  40 
  41      This function will be called after usba_hcdi_device_init(9E) has been
  42      called.  Any private data registered with that function will be
  43      available.
  44 
  45      If this function fails, the enumeration of this device will fail, the hub
  46      driver will not attach to this USB device, and all devices plugged into
  47      this hub will not be detected by the system.
  48 
  49 CONTEXT
  50      This function is called from kernel context only.
  51 
  52 RETURN VALUES
  53      Upon successful completion, the usba_hcdi_hub_update() function should
  54      return USB_SUCCESS.  Otherwise, it should return the appropriate USB
  55      error.  If uncertain, use USB_FAILURE.
  56 
  57 SEE ALSO
  58      usba_hcdi_device_init(9E), usba_device(9S), usba_hcdi_ops(9S)
  59 
  60 illumos                        February 15, 2020                       illumos