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
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.
12 .\" Copyright 2016 Joyent, Inc.
15 .Dt USBA_HCDI_HUB_UPDATE 9E
18 .Nm usba_hcdi_device_address
19 .Nd Assign USB address to device
21 .In sys/usb/usba/hcdi.h
23 .Fo prefix_hcdi_device_address
24 .Fa "usba_device_t *ud"
28 illumos USB HCD private function
30 This is a private function that is not part of the stable DDI.
31 It may be removed or changed at any time.
35 Pointer to a USB device structure being updated.
42 .Fn usba_hcdi_device_address
43 entry point is an optional entry point for USB host controller drivers.
44 Some USB host controllers do not allow the USB SET_ADDRESS command to be
46 Instead, they will be responsible for setting the address in a
47 controller-specific way.
48 If the host controller driver requires this behavior, then it must implement
50 Otherwise, if the host controller does not require this functionality, it should
51 set the entry point in the
56 The USBA will always set an address for the USBA device
58 regardless of whether or not this function is implemented.
59 If the HCD implements this entry point and it needs the addressing information
60 for whatever reason, then it is the responsibility of the driver to keep
61 track of it separately.
63 This entry point will be called after the
64 .Xr usba_hcdi_device_init 9E
65 entry point has been called.
66 Any private data stored on the device will be available through the
67 .Xr usba_hcdi_get_device_private 9F
70 Upon completion of the function, the device is expected to be addressed
71 and thus able to have endpoints opened and transfers performed on them.
72 If this function fails, the device's enumeration will halt.
74 This function is called from kernel context ontly.
76 Upon successful completion, the
77 .Fn usba_hcdi_device_address
78 function should return
80 Otherwise, it should return the appropriate USB error.
84 .Xr usba_hcdi_device_init 9E ,
85 .Xr usba_hcdi_get_device_private 9F ,