USBA_HCDI_HUB_UPDATE(9E) Driver Entry Points USBA_HCDI_HUB_UPDATE(9E)
NAME
usba_hcdi_hub_update - USB HCD hub update entry point
SYNOPSIS
#include <sys/usb/usba/hcdi.h> int prefix_hcdi_hub_update(
usba_device_t *ud,
uint8_t nports,
uint8_t tt);
INTERFACE LEVEL
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.
PARAMETERS
ud Pointer to a USB device structure being updated. See
usba_device(9S) for more information.
nports The number of ports present on the hub.
tt The value of the Think Time property as defined in the
USB specification's hub descriptor.
DESCRIPTION
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.
CONTEXT
This function is called from kernel context only.
RETURN VALUES
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.
SEE ALSO
usba_hcdi_device_init(9E),
usba_device(9S),
usba_hcdi_ops(9S)illumos February 15, 2020 illumos