USBA_HCDI_REGISTER(9F) Kernel Functions for Drivers USBA_HCDI_REGISTER(9F)

NAME


usba_hcdi_register, usba_hcdi_unregister - register and unregister HCD
driver

SYNOPSIS


#include <sys/usb/usba/hcdi.h>

int
usba_hcdi_register(usba_hcdi_register_args_t *args, uint_t flags);

void
usba_hcdi_unregister(dev_info_t *dip);

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


args A pointer to a filled out registration structure. See
usba_hcdi_register_args_t(9S) for the members to fill in.

flags Should be set to 0.

dip Pointer to the device's dev_info structure.

DESCRIPTION


The usba_hcdi_register() and usba_hcdi_unregister() functions are used to
register and unregister a USB HCDI driver from the USBA framework.

The usba_hcdi_register() function is called during a device driver's
attach(9E) entry point after it has finished initializing the device.
After this function successfully returns, device drivers should assume that
the usba_hcdi_ops(9S) functions may be called at any time.

The usba_hcdi_unregister() function should be called during a driver's
detach(9E) entry point after it has unbound its root hub, but before the
remainder of the device's state is torn down. After calling the
usba_hcdi_unregister() function, the driver will receive no more function
calls to its usba_hcdi_ops(9S) entry points.

For more information on the initialization and finalization path of a USB
HCD driver, see usba_hcdi(9E).

CONTEXT


The usba_hcdi_register() function should only be called from a driver's
attach(9E) entry point.

The usba_hcdi_unregister() function should only be called frm a driver's
detach(9E) entry point.

RETURN VALUES


Upon successful completion, the usba_hcdi_register() function returns
USB_SUCCESS. Otherwise USB_FAILURE is returned to indicate that the device
was not registered.

The usba_hcdi_unregister() function does not define any return values and
always succeeds.

SEE ALSO


attach(9E), detach(9E), usba_hcdi(9E), usba_hcdi_ops(9S),
usba_hcdi_register_args_t(9S)

illumos November 26, 2017 illumos