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_CB_OPS 9F
169b0e7716SRobert Mustacchi.Os
179b0e7716SRobert Mustacchi.Sh NAME
189b0e7716SRobert Mustacchi.Nm usba_hubdi_cb_ops ,
199b0e7716SRobert Mustacchi.Nm usba_hubdi_open ,
209b0e7716SRobert Mustacchi.Nm usba_hubdi_ioctl ,
219b0e7716SRobert Mustacchi.Nm usba_hubdi_close
229b0e7716SRobert Mustacchi.Nd character device utility functions for HCD drivers
239b0e7716SRobert Mustacchi.Sh SYNOPSIS
249b0e7716SRobert Mustacchi.In sys/usb/usba/hubdi.h
259b0e7716SRobert Mustacchi.Ft int
269b0e7716SRobert Mustacchi.Fo usba_hubdi_open
279b0e7716SRobert Mustacchi.Fa "dev_info_t *dip"
289b0e7716SRobert Mustacchi.Fa "dev_t *devp"
299b0e7716SRobert Mustacchi.Fa "int flag"
309b0e7716SRobert Mustacchi.Fa "int otyp"
319b0e7716SRobert Mustacchi.Fa "cred_t *cred_p"
329b0e7716SRobert Mustacchi.Fc
339b0e7716SRobert Mustacchi.Ft int
349b0e7716SRobert Mustacchi.Fo usba_hubdi_ioctl
359b0e7716SRobert Mustacchi.Fa "dev_info_t *dip"
369b0e7716SRobert Mustacchi.Fa "dev_t dev"
379b0e7716SRobert Mustacchi.Fa "int flag"
389b0e7716SRobert Mustacchi.Fa "intptr_t arg"
399b0e7716SRobert Mustacchi.Fa "int mode"
409b0e7716SRobert Mustacchi.Fa "cred_t *cred_pp"
419b0e7716SRobert Mustacchi.Fa "int *rval_p"
429b0e7716SRobert Mustacchi.Fc
439b0e7716SRobert Mustacchi.Ft int
449b0e7716SRobert Mustacchi.Fo usba_hubdi_close
459b0e7716SRobert Mustacchi.Fa "dev_info_t *dip"
469b0e7716SRobert Mustacchi.Fa "dev_t dev"
479b0e7716SRobert Mustacchi.Fa "int flag"
489b0e7716SRobert Mustacchi.Fa "int otyp"
499b0e7716SRobert Mustacchi.Fa "cred_t *cred_p"
509b0e7716SRobert Mustacchi.Fc
519b0e7716SRobert Mustacchi.Sh INTERFACE LEVEL
529b0e7716SRobert Mustacchi.Sy Volatile -
539b0e7716SRobert Mustacchiillumos USB HCD private function
549b0e7716SRobert Mustacchi.Pp
5572d3dbb9SYuri PankovThis is a private function that is not part of the stable DDI.
5672d3dbb9SYuri PankovIt may be removed or changed at any time.
57*c5bab702SPeter Tribble.Sh PARAMETERS
589b0e7716SRobert Mustacchi.Bl -tag -width Fa
599b0e7716SRobert Mustacchi.It Fa dip
609b0e7716SRobert MustacchiPointer to the device's
619b0e7716SRobert Mustacchi.Sy dev_info
629b0e7716SRobert Mustacchistructure.
639b0e7716SRobert Mustacchi.El
649b0e7716SRobert Mustacchi.Pp
659b0e7716SRobert MustacchiAll other parameters are the same as the ones described and discussed in
669b0e7716SRobert Mustacchi.Xr open 9E ,
679b0e7716SRobert Mustacchi.Xr ioctl 9E ,
689b0e7716SRobert Mustacchiand
699b0e7716SRobert Mustacchi.Xr close 9E .
709b0e7716SRobert Mustacchi.Sh DESCRIPTION
719b0e7716SRobert MustacchiThe
729b0e7716SRobert Mustacchi.Fn usba_hubdi_open ,
739b0e7716SRobert Mustacchi.Fn usba_hubdi_ioctl ,
749b0e7716SRobert Mustacchiand
759b0e7716SRobert Mustacchi.Fn usba_hubdi_close
769b0e7716SRobert Mustacchifunctions are functions provided for the implementation of USB HCD
7772d3dbb9SYuri Pankovdrivers.
7872d3dbb9SYuri PankovUSB HCD drivers are required to implemnt the
799b0e7716SRobert Mustacchi.Xr open 9E ,
809b0e7716SRobert Mustacchi.Xr ioctl 9E ,
819b0e7716SRobert Mustacchiand
829b0e7716SRobert Mustacchi.Xr close 9E
839b0e7716SRobert Mustacchi.Xr cb_ops 9S
8472d3dbb9SYuri Pankovfunctions.
8572d3dbb9SYuri PankovIn each of those functions, they should use the device number to determine
8672d3dbb9SYuri Pankovnumber in
879b0e7716SRobert Mustacchi.Fa devp
889b0e7716SRobert Mustacchior
899b0e7716SRobert Mustacchi.Fa dev
909b0e7716SRobert Mustacchito determine the device's corresponding
919b0e7716SRobert Mustacchi.Sy dev_info_t .
929b0e7716SRobert MustacchiThe USB HCD driver's entry points should then call the corresponding
939b0e7716SRobert Mustacchifunction described above, passing all the arguments they received
949b0e7716SRobert Mustacchiunmodified.
959b0e7716SRobert Mustacchi.Pp
969b0e7716SRobert MustacchiThe USB HCD driver's entry points should return the value returned by
979b0e7716SRobert Mustacchithe call to the corresponding USBA function.
989b0e7716SRobert Mustacchi.Sh CONTEXT
999b0e7716SRobert MustacchiThese functions should only be called from the context of a USB HCD
1009b0e7716SRobert Mustacchidriver's
1019b0e7716SRobert Mustacchi.Xr open 9E ,
1029b0e7716SRobert Mustacchi.Xr ioctl 9E ,
1039b0e7716SRobert Mustacchiand
1049b0e7716SRobert Mustacchi.Xr close 9E
1059b0e7716SRobert Mustacchientry points.
1069b0e7716SRobert Mustacchi.Sh SEE ALSO
1079b0e7716SRobert Mustacchi.Xr close 9E ,
1089b0e7716SRobert Mustacchi.Xr ioctl 9E ,
1099b0e7716SRobert Mustacchi.Xr open 9E ,
110b31ca922SChris Fraire.Xr usba_hcdi 9E ,
1119b0e7716SRobert Mustacchi.Xr cb_ops 9S
112