1.\" 2.\" This file and its contents are supplied under the terms of the 3.\" Common Development and Distribution License ("CDDL"), version 1.0. 4.\" You may only use this file in accordance with the terms of version 5.\" 1.0 of the CDDL. 6.\" 7.\" A full copy of the text of the CDDL should have accompanied this 8.\" source. A copy of the CDDL is also available via the Internet at 9.\" http://www.illumos.org/license/CDDL. 10.\" 11.\" 12.\" Copyright 2016 Joyent, Inc. 13.\" 14.Dd Nov 26, 2017 15.Dt USBA_HCDI_REGISTER 9F 16.Os 17.Sh NAME 18.Nm usba_hcdi_register , 19.Nm usba_hcdi_unregister 20.Nd register and unregister HCD driver 21.Sh SYNOPSIS 22.In sys/usb/usba/hcdi.h 23.Ft int 24.Fo usba_hcdi_register 25.Fa "usba_hcdi_register_args_t *args" 26.Fa "uint_t flags" 27.Fc 28.Ft void 29.Fo usba_hcdi_unregister 30.Fa "dev_info_t *dip" 31.Fc 32.Sh INTERFACE LEVEL 33.Sy Volatile - 34illumos USB HCD private function 35.Pp 36This is a private function that is not part of the stable DDI. 37It may be removed or changed at any time. 38.Sh PARAMETERS 39.Bl -tag -width Fa 40.It Fa args 41A pointer to a filled out registration structure. 42See 43.Xr usba_hcdi_register_args_t 9S 44for the members to fill in. 45.It Fa flags 46Should be set to 47.Sy 0 . 48.It Fa dip 49Pointer to the device's 50.Sy dev_info 51structure. 52.El 53.Sh DESCRIPTION 54The 55.Fn usba_hcdi_register 56and 57.Fn usba_hcdi_unregister 58functions are used to register and unregister a USB HCDI driver from the 59USBA framework. 60.Pp 61The 62.Fn usba_hcdi_register 63function is called during a device driver's 64.Xr attach 9E 65entry point after it has finished initializing the device. 66After this function successfully returns, device drivers should assume that the 67.Xr usba_hcdi_ops 9S 68functions may be called at any time. 69.Pp 70The 71.Fn usba_hcdi_unregister 72function should be called during a driver's 73.Xr detach 9E 74entry point after it has unbound its root hub, but before the remainder 75of the device's state is torn down. 76After calling the 77.Fn usba_hcdi_unregister 78function, the driver will receive no more function calls to its 79.Xr usba_hcdi_ops 9S 80entry points. 81.Pp 82For more information on the initialization and finalization path of a 83USB HCD driver, see 84.Xr usba_hcdi 9E . 85.Sh CONTEXT 86The 87.Fn usba_hcdi_register 88function should only be called from a driver's 89.Xr attach 9E 90entry point. 91.Pp 92The 93.Fn usba_hcdi_unregister 94function should only be called frm a driver's 95.Xr detach 9E 96entry point. 97.Sh RETURN VALUES 98Upon successful completion, the 99.Fn usba_hcdi_register 100function returns 101.Sy USB_SUCCESS . 102Otherwise 103.Sy USB_FAILURE 104is returned to indicate that the device was not registered. 105.Pp 106The 107.Fn usba_hcdi_unregister 108function does not define any return values and always succeeds. 109.Sh SEE ALSO 110.Xr attach 9E , 111.Xr detach 9E , 112.Xr usba_hcdi 9E , 113.Xr usba_hcdi_ops 9S , 114.Xr usba_hcdi_register_args_t 9S 115