xref: /illumos-gate/usr/src/man/man9f/usba_hcdi_register.9f (revision c5bab7026b8e0ac44b25ee08507ea360f177d844)
19b0e7716SRobert Mustacchi.\"
29b0e7716SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
39b0e7716SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
49b0e7716SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
59b0e7716SRobert Mustacchi.\" 1.0 of the CDDL.
69b0e7716SRobert Mustacchi.\"
79b0e7716SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
89b0e7716SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
99b0e7716SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
109b0e7716SRobert Mustacchi.\"
119b0e7716SRobert Mustacchi.\"
129b0e7716SRobert Mustacchi.\" Copyright 2016 Joyent, Inc.
139b0e7716SRobert Mustacchi.\"
14*c5bab702SPeter Tribble.Dd Nov 26, 2017
159b0e7716SRobert Mustacchi.Dt USBA_HCDI_REGISTER 9F
169b0e7716SRobert Mustacchi.Os
179b0e7716SRobert Mustacchi.Sh NAME
189b0e7716SRobert Mustacchi.Nm usba_hcdi_register ,
199b0e7716SRobert Mustacchi.Nm usba_hcdi_unregister
209b0e7716SRobert Mustacchi.Nd register and unregister HCD driver
219b0e7716SRobert Mustacchi.Sh SYNOPSIS
229b0e7716SRobert Mustacchi.In sys/usb/usba/hcdi.h
239b0e7716SRobert Mustacchi.Ft int
249b0e7716SRobert Mustacchi.Fo usba_hcdi_register
259b0e7716SRobert Mustacchi.Fa "usba_hcdi_register_args_t *args"
269b0e7716SRobert Mustacchi.Fa "uint_t flags"
279b0e7716SRobert Mustacchi.Fc
289b0e7716SRobert Mustacchi.Ft void
299b0e7716SRobert Mustacchi.Fo usba_hcdi_unregister
309b0e7716SRobert Mustacchi.Fa "dev_info_t *dip"
319b0e7716SRobert Mustacchi.Fc
329b0e7716SRobert Mustacchi.Sh INTERFACE LEVEL
339b0e7716SRobert Mustacchi.Sy Volatile -
349b0e7716SRobert Mustacchiillumos USB HCD private function
359b0e7716SRobert Mustacchi.Pp
3672d3dbb9SYuri PankovThis is a private function that is not part of the stable DDI.
3772d3dbb9SYuri PankovIt may be removed or changed at any time.
389b0e7716SRobert Mustacchi.Sh PARAMETERS
399b0e7716SRobert Mustacchi.Bl -tag -width Fa
409b0e7716SRobert Mustacchi.It Fa args
4172d3dbb9SYuri PankovA pointer to a filled out registration structure.
4272d3dbb9SYuri PankovSee
439b0e7716SRobert Mustacchi.Xr usba_hcdi_register_args_t 9S
449b0e7716SRobert Mustacchifor the members to fill in.
459b0e7716SRobert Mustacchi.It Fa flags
469b0e7716SRobert MustacchiShould be set to
479b0e7716SRobert Mustacchi.Sy 0 .
489b0e7716SRobert Mustacchi.It Fa dip
499b0e7716SRobert MustacchiPointer to the device's
509b0e7716SRobert Mustacchi.Sy dev_info
519b0e7716SRobert Mustacchistructure.
529b0e7716SRobert Mustacchi.El
539b0e7716SRobert Mustacchi.Sh DESCRIPTION
549b0e7716SRobert MustacchiThe
559b0e7716SRobert Mustacchi.Fn usba_hcdi_register
569b0e7716SRobert Mustacchiand
579b0e7716SRobert Mustacchi.Fn usba_hcdi_unregister
589b0e7716SRobert Mustacchifunctions are used to register and unregister a USB HCDI driver from the
599b0e7716SRobert MustacchiUSBA framework.
609b0e7716SRobert Mustacchi.Pp
619b0e7716SRobert MustacchiThe
629b0e7716SRobert Mustacchi.Fn usba_hcdi_register
639b0e7716SRobert Mustacchifunction is called during a device driver's
649b0e7716SRobert Mustacchi.Xr attach 9E
6572d3dbb9SYuri Pankoventry point after it has finished initializing the device.
66*c5bab702SPeter TribbleAfter this function successfully returns, device drivers should assume that the
679b0e7716SRobert Mustacchi.Xr usba_hcdi_ops 9S
689b0e7716SRobert Mustacchifunctions may be called at any time.
699b0e7716SRobert Mustacchi.Pp
709b0e7716SRobert MustacchiThe
719b0e7716SRobert Mustacchi.Fn usba_hcdi_unregister
729b0e7716SRobert Mustacchifunction should be called during a driver's
739b0e7716SRobert Mustacchi.Xr detach 9E
749b0e7716SRobert Mustacchientry point after it has unbound its root hub, but before the remainder
7572d3dbb9SYuri Pankovof the device's state is torn down.
7672d3dbb9SYuri PankovAfter calling the
779b0e7716SRobert Mustacchi.Fn usba_hcdi_unregister
789b0e7716SRobert Mustacchifunction, the driver will receive no more function calls to its
799b0e7716SRobert Mustacchi.Xr usba_hcdi_ops 9S
809b0e7716SRobert Mustacchientry points.
819b0e7716SRobert Mustacchi.Pp
829b0e7716SRobert MustacchiFor more information on the initialization and finalization path of a
839b0e7716SRobert MustacchiUSB HCD driver, see
849b0e7716SRobert Mustacchi.Xr usba_hcdi 9E .
859b0e7716SRobert Mustacchi.Sh CONTEXT
869b0e7716SRobert MustacchiThe
879b0e7716SRobert Mustacchi.Fn usba_hcdi_register
889b0e7716SRobert Mustacchifunction should only be called from a driver's
899b0e7716SRobert Mustacchi.Xr attach 9E
909b0e7716SRobert Mustacchientry point.
919b0e7716SRobert Mustacchi.Pp
929b0e7716SRobert MustacchiThe
939b0e7716SRobert Mustacchi.Fn usba_hcdi_unregister
949b0e7716SRobert Mustacchifunction should only be called frm a driver's
959b0e7716SRobert Mustacchi.Xr detach 9E
969b0e7716SRobert Mustacchientry point.
979b0e7716SRobert Mustacchi.Sh RETURN VALUES
989b0e7716SRobert MustacchiUpon successful completion, the
999b0e7716SRobert Mustacchi.Fn usba_hcdi_register
1009b0e7716SRobert Mustacchifunction returns
1019b0e7716SRobert Mustacchi.Sy USB_SUCCESS .
1029b0e7716SRobert MustacchiOtherwise
1039b0e7716SRobert Mustacchi.Sy USB_FAILURE
1049b0e7716SRobert Mustacchiis returned to indicate that the device was not registered.
1059b0e7716SRobert Mustacchi.Pp
1069b0e7716SRobert MustacchiThe
1079b0e7716SRobert Mustacchi.Fn usba_hcdi_unregister
1089b0e7716SRobert Mustacchifunction does not define any return values and always succeeds.
1099b0e7716SRobert Mustacchi.Sh SEE ALSO
1109b0e7716SRobert Mustacchi.Xr attach 9E ,
1119b0e7716SRobert Mustacchi.Xr detach 9E ,
1129b0e7716SRobert Mustacchi.Xr usba_hcdi 9E ,
1139b0e7716SRobert Mustacchi.Xr usba_hcdi_ops 9S ,
1149b0e7716SRobert Mustacchi.Xr usba_hcdi_register_args_t 9S
115