USBA_HCDI_HUB_UPDATE(9E) | Driver Entry Points | USBA_HCDI_HUB_UPDATE(9E) |
usba_hcdi_hub_update
—
USB HCD hub update entry point
#include
<sys/usb/usba/hcdi.h>
int
prefix_hcdi_hub_update
(usba_device_t
*ud, uint8_t nports, uint8_t
tt);
Volatile - illumos USB HCD private function
This is a private function that is not part of the stable DDI. It may be removed or changed at any time.
The
usba_hcdi_hub_update
()
entry point is an optional entry point for USB host controller drivers. It
is used by some controllers to allow them to update information about a
device in the controller after a device has been determined to be a hub
during enumeration. If a host controller does not need to take any specific
action after enumerating a hub, then it should simply set this entry point
in the usba_hcdi_ops(9S)
structure to NULL
.
The nports and tt members provide relevant information from the device's hub class descriptor which can be used to help program the host controller. Any programming should be performed synchronously and be completed before this function returns.
This function will be called after usba_hcdi_device_init(9E) has been called. Any private data registered with that function will be available.
If this function fails, the enumeration of this device will fail, the hub driver will not attach to this USB device, and all devices plugged into this hub will not be detected by the system.
This function is called from kernel context only.
Upon successful completion, the
usba_hcdi_hub_update
() function should return
USB_SUCCESS.
Otherwise, it should return the appropriate USB error. If uncertain, use
USB_FAILURE.
usba_hcdi_device_init(9E), usba_device(9S), usba_hcdi_ops(9S)
February 15, 2020 | OmniOS |