1*7c478bd9Sstevel@tonic-gate /*
2*7c478bd9Sstevel@tonic-gate  * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate  *
4*7c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate  * with the License.
8*7c478bd9Sstevel@tonic-gate  *
9*7c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate  * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate  *
14*7c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate  *
20*7c478bd9Sstevel@tonic-gate  * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate  */
22*7c478bd9Sstevel@tonic-gate /*
23*7c478bd9Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate  */
26*7c478bd9Sstevel@tonic-gate 
27*7c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
28*7c478bd9Sstevel@tonic-gate 
29*7c478bd9Sstevel@tonic-gate /*
30*7c478bd9Sstevel@tonic-gate  * Bridge module containing functions with different names than those in the
31*7c478bd9Sstevel@tonic-gate  * usba10 module, so the usba10 module can call functions in this (usba) module.
32*7c478bd9Sstevel@tonic-gate  *
33*7c478bd9Sstevel@tonic-gate  * The usba10 module is present to satisfy a runtime loader dependency for
34*7c478bd9Sstevel@tonic-gate  * legacy DDK drivers (V0.8).  The usba10 module calls functions in this (usba)
35*7c478bd9Sstevel@tonic-gate  * module to carry out driver requests.
36*7c478bd9Sstevel@tonic-gate  *
37*7c478bd9Sstevel@tonic-gate  * The intent is that this file disappear once krtld functionality is improved
38*7c478bd9Sstevel@tonic-gate  * so that drivers dependent on usba10 can call into usba without these wrapper
39*7c478bd9Sstevel@tonic-gate  * functions.
40*7c478bd9Sstevel@tonic-gate  *
41*7c478bd9Sstevel@tonic-gate  * Please see the on81-patch gate usr/src/uts/common/sys/usba10/usba10_usbai.h
42*7c478bd9Sstevel@tonic-gate  * header file for descriptions and comments for these functions.
43*7c478bd9Sstevel@tonic-gate  */
44*7c478bd9Sstevel@tonic-gate 
45*7c478bd9Sstevel@tonic-gate #include <sys/usb/usba.h>
46*7c478bd9Sstevel@tonic-gate #include <sys/usb/usba/usbai_private.h>
47*7c478bd9Sstevel@tonic-gate #include <sys/usb/usba/usba10.h>
48*7c478bd9Sstevel@tonic-gate 
49*7c478bd9Sstevel@tonic-gate #ifndef __lock_lint
50*7c478bd9Sstevel@tonic-gate 
51*7c478bd9Sstevel@tonic-gate int
52*7c478bd9Sstevel@tonic-gate usba10_usb_register_client(
53*7c478bd9Sstevel@tonic-gate 	dev_info_t			*dip,
54*7c478bd9Sstevel@tonic-gate 	uint_t				version,
55*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t		**dev_data,
56*7c478bd9Sstevel@tonic-gate 	usb_reg_parse_lvl_t		parse_level,
57*7c478bd9Sstevel@tonic-gate 	usb_flags_t			flags)
58*7c478bd9Sstevel@tonic-gate {
59*7c478bd9Sstevel@tonic-gate 	return (usb_register_client(
60*7c478bd9Sstevel@tonic-gate 	    dip, version, dev_data, parse_level, flags));
61*7c478bd9Sstevel@tonic-gate }
62*7c478bd9Sstevel@tonic-gate 
63*7c478bd9Sstevel@tonic-gate 
64*7c478bd9Sstevel@tonic-gate void
65*7c478bd9Sstevel@tonic-gate usba10_usb_unregister_client(
66*7c478bd9Sstevel@tonic-gate 	dev_info_t			*dip,
67*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t		*dev_data)
68*7c478bd9Sstevel@tonic-gate {
69*7c478bd9Sstevel@tonic-gate 	usb_unregister_client(dip, dev_data);
70*7c478bd9Sstevel@tonic-gate }
71*7c478bd9Sstevel@tonic-gate 
72*7c478bd9Sstevel@tonic-gate 
73*7c478bd9Sstevel@tonic-gate void
74*7c478bd9Sstevel@tonic-gate usba10_usb_free_descr_tree(
75*7c478bd9Sstevel@tonic-gate 	dev_info_t			*dip,
76*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t		*dev_data)
77*7c478bd9Sstevel@tonic-gate {
78*7c478bd9Sstevel@tonic-gate 	usb_free_descr_tree(dip, dev_data);
79*7c478bd9Sstevel@tonic-gate }
80*7c478bd9Sstevel@tonic-gate 
81*7c478bd9Sstevel@tonic-gate 
82*7c478bd9Sstevel@tonic-gate size_t
83*7c478bd9Sstevel@tonic-gate usba10_usb_parse_data(
84*7c478bd9Sstevel@tonic-gate 	char			*format,
85*7c478bd9Sstevel@tonic-gate 	uchar_t 		*data,
86*7c478bd9Sstevel@tonic-gate 	size_t			datalen,
87*7c478bd9Sstevel@tonic-gate 	void			*structure,
88*7c478bd9Sstevel@tonic-gate 	size_t			structlen)
89*7c478bd9Sstevel@tonic-gate {
90*7c478bd9Sstevel@tonic-gate 	return (usb_parse_data(
91*7c478bd9Sstevel@tonic-gate 	    format, data, datalen, structure, structlen));
92*7c478bd9Sstevel@tonic-gate }
93*7c478bd9Sstevel@tonic-gate 
94*7c478bd9Sstevel@tonic-gate usb_ep_data_t *
95*7c478bd9Sstevel@tonic-gate usba10_usb_get_ep_data(
96*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
97*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t	*dev_datap,
98*7c478bd9Sstevel@tonic-gate 	uint_t			interface,
99*7c478bd9Sstevel@tonic-gate 	uint_t			alternate,
100*7c478bd9Sstevel@tonic-gate 	uint_t			type,
101*7c478bd9Sstevel@tonic-gate 	uint_t			direction)
102*7c478bd9Sstevel@tonic-gate {
103*7c478bd9Sstevel@tonic-gate 	return (usb_get_ep_data(
104*7c478bd9Sstevel@tonic-gate 	    dip, dev_datap, interface, alternate, type, direction));
105*7c478bd9Sstevel@tonic-gate }
106*7c478bd9Sstevel@tonic-gate 
107*7c478bd9Sstevel@tonic-gate 
108*7c478bd9Sstevel@tonic-gate int
109*7c478bd9Sstevel@tonic-gate usba10_usb_get_string_descr(
110*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
111*7c478bd9Sstevel@tonic-gate 	uint16_t		langid,
112*7c478bd9Sstevel@tonic-gate 	uint8_t			index,
113*7c478bd9Sstevel@tonic-gate 	char			*buf,
114*7c478bd9Sstevel@tonic-gate 	size_t			buflen)
115*7c478bd9Sstevel@tonic-gate {
116*7c478bd9Sstevel@tonic-gate 	return (usb_get_string_descr(dip, langid, index, buf, buflen));
117*7c478bd9Sstevel@tonic-gate }
118*7c478bd9Sstevel@tonic-gate 
119*7c478bd9Sstevel@tonic-gate 
120*7c478bd9Sstevel@tonic-gate int
121*7c478bd9Sstevel@tonic-gate usba10_usb_get_addr(dev_info_t *dip)
122*7c478bd9Sstevel@tonic-gate {
123*7c478bd9Sstevel@tonic-gate 	return (usb_get_addr(dip));
124*7c478bd9Sstevel@tonic-gate }
125*7c478bd9Sstevel@tonic-gate 
126*7c478bd9Sstevel@tonic-gate 
127*7c478bd9Sstevel@tonic-gate int
128*7c478bd9Sstevel@tonic-gate usba10_usb_get_if_number(dev_info_t *dip)
129*7c478bd9Sstevel@tonic-gate {
130*7c478bd9Sstevel@tonic-gate 	return (usb_get_if_number(dip));
131*7c478bd9Sstevel@tonic-gate }
132*7c478bd9Sstevel@tonic-gate 
133*7c478bd9Sstevel@tonic-gate 
134*7c478bd9Sstevel@tonic-gate boolean_t
135*7c478bd9Sstevel@tonic-gate usba10_usb_owns_device(dev_info_t *dip)
136*7c478bd9Sstevel@tonic-gate {
137*7c478bd9Sstevel@tonic-gate 	return (usb_owns_device(dip));
138*7c478bd9Sstevel@tonic-gate }
139*7c478bd9Sstevel@tonic-gate 
140*7c478bd9Sstevel@tonic-gate 
141*7c478bd9Sstevel@tonic-gate int
142*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_get_state(
143*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
144*7c478bd9Sstevel@tonic-gate 	usb_pipe_state_t	*pipe_state,
145*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
146*7c478bd9Sstevel@tonic-gate {
147*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_get_state(pipe_handle, pipe_state, flags));
148*7c478bd9Sstevel@tonic-gate }
149*7c478bd9Sstevel@tonic-gate 
150*7c478bd9Sstevel@tonic-gate 
151*7c478bd9Sstevel@tonic-gate int
152*7c478bd9Sstevel@tonic-gate usba10_usb_ep_num(usb_pipe_handle_t ph)
153*7c478bd9Sstevel@tonic-gate {
154*7c478bd9Sstevel@tonic-gate 	return (usb_ep_num(ph));
155*7c478bd9Sstevel@tonic-gate }
156*7c478bd9Sstevel@tonic-gate 
157*7c478bd9Sstevel@tonic-gate 
158*7c478bd9Sstevel@tonic-gate int
159*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_open(
160*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
161*7c478bd9Sstevel@tonic-gate 	usb_ep_descr_t		*ep,
162*7c478bd9Sstevel@tonic-gate 	usb_pipe_policy_t	*pipe_policy,
163*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags,
164*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	*pipe_handle)
165*7c478bd9Sstevel@tonic-gate {
166*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_open(dip, ep, pipe_policy, flags, pipe_handle));
167*7c478bd9Sstevel@tonic-gate }
168*7c478bd9Sstevel@tonic-gate 
169*7c478bd9Sstevel@tonic-gate 
170*7c478bd9Sstevel@tonic-gate void
171*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_close(
172*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
173*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
174*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags,
175*7c478bd9Sstevel@tonic-gate 	void			(*cb)(
176*7c478bd9Sstevel@tonic-gate 				    usb_pipe_handle_t	ph,
177*7c478bd9Sstevel@tonic-gate 				    usb_opaque_t	arg,	/* cb arg */
178*7c478bd9Sstevel@tonic-gate 				    int			rval,
179*7c478bd9Sstevel@tonic-gate 				    usb_cb_flags_t	flags),
180*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		cb_arg)
181*7c478bd9Sstevel@tonic-gate {
182*7c478bd9Sstevel@tonic-gate 	usb_pipe_close(dip, pipe_handle, flags, cb, cb_arg);
183*7c478bd9Sstevel@tonic-gate }
184*7c478bd9Sstevel@tonic-gate 
185*7c478bd9Sstevel@tonic-gate 
186*7c478bd9Sstevel@tonic-gate int
187*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_drain_reqs(
188*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
189*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
190*7c478bd9Sstevel@tonic-gate 	uint_t			time,
191*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags,
192*7c478bd9Sstevel@tonic-gate 	void			(*cb)(
193*7c478bd9Sstevel@tonic-gate 				    usb_pipe_handle_t	ph,
194*7c478bd9Sstevel@tonic-gate 				    usb_opaque_t	arg,	/* cb arg */
195*7c478bd9Sstevel@tonic-gate 				    int			rval,
196*7c478bd9Sstevel@tonic-gate 				    usb_cb_flags_t	flags),
197*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		cb_arg)
198*7c478bd9Sstevel@tonic-gate {
199*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_drain_reqs(
200*7c478bd9Sstevel@tonic-gate 	    dip, pipe_handle, time, flags, cb, cb_arg));
201*7c478bd9Sstevel@tonic-gate }
202*7c478bd9Sstevel@tonic-gate 
203*7c478bd9Sstevel@tonic-gate 
204*7c478bd9Sstevel@tonic-gate int
205*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_set_private(
206*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
207*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		data)
208*7c478bd9Sstevel@tonic-gate {
209*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_set_private(pipe_handle, data));
210*7c478bd9Sstevel@tonic-gate }
211*7c478bd9Sstevel@tonic-gate 
212*7c478bd9Sstevel@tonic-gate 
213*7c478bd9Sstevel@tonic-gate usb_opaque_t
214*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_get_private(usb_pipe_handle_t pipe_handle)
215*7c478bd9Sstevel@tonic-gate {
216*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_get_private(pipe_handle));
217*7c478bd9Sstevel@tonic-gate }
218*7c478bd9Sstevel@tonic-gate 
219*7c478bd9Sstevel@tonic-gate 
220*7c478bd9Sstevel@tonic-gate void
221*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_reset(
222*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
223*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
224*7c478bd9Sstevel@tonic-gate 	usb_flags_t		usb_flags,
225*7c478bd9Sstevel@tonic-gate 	void			(*cb)(
226*7c478bd9Sstevel@tonic-gate 					usb_pipe_handle_t ph,
227*7c478bd9Sstevel@tonic-gate 					usb_opaque_t	arg,
228*7c478bd9Sstevel@tonic-gate 					int		rval,
229*7c478bd9Sstevel@tonic-gate 					usb_cb_flags_t	flags),
230*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		cb_arg)
231*7c478bd9Sstevel@tonic-gate {
232*7c478bd9Sstevel@tonic-gate 	usb_pipe_reset(dip, pipe_handle, usb_flags, cb, cb_arg);
233*7c478bd9Sstevel@tonic-gate }
234*7c478bd9Sstevel@tonic-gate 
235*7c478bd9Sstevel@tonic-gate 
236*7c478bd9Sstevel@tonic-gate usb_ctrl_req_t *
237*7c478bd9Sstevel@tonic-gate usba10_usb_alloc_ctrl_req(
238*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
239*7c478bd9Sstevel@tonic-gate 	size_t			len,
240*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
241*7c478bd9Sstevel@tonic-gate {
242*7c478bd9Sstevel@tonic-gate 	return (usb_alloc_ctrl_req(dip, len, flags));
243*7c478bd9Sstevel@tonic-gate }
244*7c478bd9Sstevel@tonic-gate 
245*7c478bd9Sstevel@tonic-gate 
246*7c478bd9Sstevel@tonic-gate void
247*7c478bd9Sstevel@tonic-gate usba10_usb_free_ctrl_req(usb_ctrl_req_t *reqp)
248*7c478bd9Sstevel@tonic-gate {
249*7c478bd9Sstevel@tonic-gate 	usb_free_ctrl_req(reqp);
250*7c478bd9Sstevel@tonic-gate }
251*7c478bd9Sstevel@tonic-gate 
252*7c478bd9Sstevel@tonic-gate 
253*7c478bd9Sstevel@tonic-gate int
254*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_ctrl_xfer(
255*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
256*7c478bd9Sstevel@tonic-gate 	usb_ctrl_req_t		*reqp,
257*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
258*7c478bd9Sstevel@tonic-gate {
259*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_ctrl_xfer(pipe_handle, reqp, flags));
260*7c478bd9Sstevel@tonic-gate }
261*7c478bd9Sstevel@tonic-gate 
262*7c478bd9Sstevel@tonic-gate 
263*7c478bd9Sstevel@tonic-gate int
264*7c478bd9Sstevel@tonic-gate usba10_usb_get_status(
265*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
266*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	ph,
267*7c478bd9Sstevel@tonic-gate 	uint_t			type,	/* bmRequestType */
268*7c478bd9Sstevel@tonic-gate 	uint_t			what,	/* 0, interface, endpoint number */
269*7c478bd9Sstevel@tonic-gate 	uint16_t		*status,
270*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
271*7c478bd9Sstevel@tonic-gate {
272*7c478bd9Sstevel@tonic-gate 	return (usb_get_status(dip, ph, type, what, status, flags));
273*7c478bd9Sstevel@tonic-gate }
274*7c478bd9Sstevel@tonic-gate 
275*7c478bd9Sstevel@tonic-gate 
276*7c478bd9Sstevel@tonic-gate int
277*7c478bd9Sstevel@tonic-gate usba10_usb_clear_feature(
278*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
279*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	ph,
280*7c478bd9Sstevel@tonic-gate 	uint_t			type,	/* bmRequestType */
281*7c478bd9Sstevel@tonic-gate 	uint_t			feature,
282*7c478bd9Sstevel@tonic-gate 	uint_t			what,	/* 0, interface, endpoint number */
283*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
284*7c478bd9Sstevel@tonic-gate {
285*7c478bd9Sstevel@tonic-gate 	return (usb_clear_feature(dip, ph, type, feature, what, flags));
286*7c478bd9Sstevel@tonic-gate }
287*7c478bd9Sstevel@tonic-gate 
288*7c478bd9Sstevel@tonic-gate 
289*7c478bd9Sstevel@tonic-gate int
290*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_ctrl_xfer_wait(
291*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
292*7c478bd9Sstevel@tonic-gate 	usb_ctrl_setup_t	*setup,
293*7c478bd9Sstevel@tonic-gate 	mblk_t			**data,
294*7c478bd9Sstevel@tonic-gate 	usb_cr_t		*completion_reason,
295*7c478bd9Sstevel@tonic-gate 	usb_cb_flags_t		*cb_flags,
296*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
297*7c478bd9Sstevel@tonic-gate {
298*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_ctrl_xfer_wait(
299*7c478bd9Sstevel@tonic-gate 	    pipe_handle, setup, data, completion_reason, cb_flags, flags));
300*7c478bd9Sstevel@tonic-gate }
301*7c478bd9Sstevel@tonic-gate 
302*7c478bd9Sstevel@tonic-gate 
303*7c478bd9Sstevel@tonic-gate int
304*7c478bd9Sstevel@tonic-gate usba10_usb_set_cfg(
305*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
306*7c478bd9Sstevel@tonic-gate 	uint_t			cfg_index,
307*7c478bd9Sstevel@tonic-gate 	usb_flags_t		usb_flags,
308*7c478bd9Sstevel@tonic-gate 	void			(*cb)(
309*7c478bd9Sstevel@tonic-gate 					usb_pipe_handle_t ph,
310*7c478bd9Sstevel@tonic-gate 					usb_opaque_t	arg,
311*7c478bd9Sstevel@tonic-gate 					int		rval,
312*7c478bd9Sstevel@tonic-gate 					usb_cb_flags_t	flags),
313*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		cb_arg)
314*7c478bd9Sstevel@tonic-gate {
315*7c478bd9Sstevel@tonic-gate 	return (usb_set_cfg(dip, cfg_index, usb_flags, cb, cb_arg));
316*7c478bd9Sstevel@tonic-gate }
317*7c478bd9Sstevel@tonic-gate 
318*7c478bd9Sstevel@tonic-gate 
319*7c478bd9Sstevel@tonic-gate int
320*7c478bd9Sstevel@tonic-gate usba10_usb_get_cfg(
321*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
322*7c478bd9Sstevel@tonic-gate 	uint_t			*cfgval,
323*7c478bd9Sstevel@tonic-gate 	usb_flags_t		usb_flags)
324*7c478bd9Sstevel@tonic-gate {
325*7c478bd9Sstevel@tonic-gate 	return (usb_get_cfg(dip, cfgval, usb_flags));
326*7c478bd9Sstevel@tonic-gate }
327*7c478bd9Sstevel@tonic-gate 
328*7c478bd9Sstevel@tonic-gate 
329*7c478bd9Sstevel@tonic-gate int
330*7c478bd9Sstevel@tonic-gate usba10_usb_set_alt_if(
331*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
332*7c478bd9Sstevel@tonic-gate 	uint_t			interface,
333*7c478bd9Sstevel@tonic-gate 	uint_t			alt_number,
334*7c478bd9Sstevel@tonic-gate 	usb_flags_t		usb_flags,
335*7c478bd9Sstevel@tonic-gate 	void			(*cb)(
336*7c478bd9Sstevel@tonic-gate 					usb_pipe_handle_t ph,
337*7c478bd9Sstevel@tonic-gate 					usb_opaque_t	arg,
338*7c478bd9Sstevel@tonic-gate 					int		rval,
339*7c478bd9Sstevel@tonic-gate 					usb_cb_flags_t	flags),
340*7c478bd9Sstevel@tonic-gate 	usb_opaque_t		cb_arg)
341*7c478bd9Sstevel@tonic-gate {
342*7c478bd9Sstevel@tonic-gate 	return (usb_set_alt_if(
343*7c478bd9Sstevel@tonic-gate 	    dip, interface, alt_number, usb_flags, cb, cb_arg));
344*7c478bd9Sstevel@tonic-gate }
345*7c478bd9Sstevel@tonic-gate 
346*7c478bd9Sstevel@tonic-gate 
347*7c478bd9Sstevel@tonic-gate int
348*7c478bd9Sstevel@tonic-gate usba10_usb_get_alt_if(
349*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
350*7c478bd9Sstevel@tonic-gate 	uint_t			if_number,
351*7c478bd9Sstevel@tonic-gate 	uint_t			*alt_number,
352*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
353*7c478bd9Sstevel@tonic-gate {
354*7c478bd9Sstevel@tonic-gate 	return (usb_get_alt_if(dip, if_number, alt_number, flags));
355*7c478bd9Sstevel@tonic-gate }
356*7c478bd9Sstevel@tonic-gate 
357*7c478bd9Sstevel@tonic-gate 
358*7c478bd9Sstevel@tonic-gate usb_bulk_req_t *
359*7c478bd9Sstevel@tonic-gate usba10_usb_alloc_bulk_req(
360*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
361*7c478bd9Sstevel@tonic-gate 	size_t			len,
362*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
363*7c478bd9Sstevel@tonic-gate {
364*7c478bd9Sstevel@tonic-gate 	return (usb_alloc_bulk_req(dip, len, flags));
365*7c478bd9Sstevel@tonic-gate }
366*7c478bd9Sstevel@tonic-gate 
367*7c478bd9Sstevel@tonic-gate 
368*7c478bd9Sstevel@tonic-gate void
369*7c478bd9Sstevel@tonic-gate usba10_usb_free_bulk_req(usb_bulk_req_t *reqp)
370*7c478bd9Sstevel@tonic-gate {
371*7c478bd9Sstevel@tonic-gate 	usb_free_bulk_req(reqp);
372*7c478bd9Sstevel@tonic-gate }
373*7c478bd9Sstevel@tonic-gate 
374*7c478bd9Sstevel@tonic-gate 
375*7c478bd9Sstevel@tonic-gate int
376*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_bulk_xfer(
377*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
378*7c478bd9Sstevel@tonic-gate 	usb_bulk_req_t		*reqp,
379*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
380*7c478bd9Sstevel@tonic-gate {
381*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_bulk_xfer(pipe_handle, reqp, flags));
382*7c478bd9Sstevel@tonic-gate }
383*7c478bd9Sstevel@tonic-gate 
384*7c478bd9Sstevel@tonic-gate 
385*7c478bd9Sstevel@tonic-gate int
386*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_bulk_transfer_size(
387*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
388*7c478bd9Sstevel@tonic-gate 	size_t			*size)
389*7c478bd9Sstevel@tonic-gate {
390*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_bulk_transfer_size(dip, size));
391*7c478bd9Sstevel@tonic-gate }
392*7c478bd9Sstevel@tonic-gate 
393*7c478bd9Sstevel@tonic-gate 
394*7c478bd9Sstevel@tonic-gate usb_intr_req_t *
395*7c478bd9Sstevel@tonic-gate usba10_usb_alloc_intr_req(
396*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
397*7c478bd9Sstevel@tonic-gate 	size_t			len,
398*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
399*7c478bd9Sstevel@tonic-gate {
400*7c478bd9Sstevel@tonic-gate 	return (usb_alloc_intr_req(dip, len, flags));
401*7c478bd9Sstevel@tonic-gate }
402*7c478bd9Sstevel@tonic-gate 
403*7c478bd9Sstevel@tonic-gate 
404*7c478bd9Sstevel@tonic-gate void
405*7c478bd9Sstevel@tonic-gate usba10_usb_free_intr_req(usb_intr_req_t *reqp)
406*7c478bd9Sstevel@tonic-gate {
407*7c478bd9Sstevel@tonic-gate 	usb_free_intr_req(reqp);
408*7c478bd9Sstevel@tonic-gate }
409*7c478bd9Sstevel@tonic-gate 
410*7c478bd9Sstevel@tonic-gate 
411*7c478bd9Sstevel@tonic-gate int
412*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_intr_xfer(
413*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
414*7c478bd9Sstevel@tonic-gate 	usb_intr_req_t		*req,
415*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
416*7c478bd9Sstevel@tonic-gate {
417*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_intr_xfer(pipe_handle, req, flags));
418*7c478bd9Sstevel@tonic-gate }
419*7c478bd9Sstevel@tonic-gate 
420*7c478bd9Sstevel@tonic-gate 
421*7c478bd9Sstevel@tonic-gate void
422*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_stop_intr_polling(
423*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
424*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
425*7c478bd9Sstevel@tonic-gate {
426*7c478bd9Sstevel@tonic-gate 	usb_pipe_stop_intr_polling(pipe_handle, flags);
427*7c478bd9Sstevel@tonic-gate }
428*7c478bd9Sstevel@tonic-gate 
429*7c478bd9Sstevel@tonic-gate 
430*7c478bd9Sstevel@tonic-gate usb_isoc_req_t *
431*7c478bd9Sstevel@tonic-gate usba10_usb_alloc_isoc_req(
432*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
433*7c478bd9Sstevel@tonic-gate 	uint_t			isoc_pkts_count,
434*7c478bd9Sstevel@tonic-gate 	size_t			len,
435*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
436*7c478bd9Sstevel@tonic-gate {
437*7c478bd9Sstevel@tonic-gate 	return (usb_alloc_isoc_req(dip, isoc_pkts_count, len, flags));
438*7c478bd9Sstevel@tonic-gate }
439*7c478bd9Sstevel@tonic-gate 
440*7c478bd9Sstevel@tonic-gate 
441*7c478bd9Sstevel@tonic-gate void
442*7c478bd9Sstevel@tonic-gate usba10_usb_free_isoc_req(usb_isoc_req_t *usb_isoc_req)
443*7c478bd9Sstevel@tonic-gate {
444*7c478bd9Sstevel@tonic-gate 	usb_free_isoc_req(usb_isoc_req);
445*7c478bd9Sstevel@tonic-gate }
446*7c478bd9Sstevel@tonic-gate 
447*7c478bd9Sstevel@tonic-gate 
448*7c478bd9Sstevel@tonic-gate usb_frame_number_t
449*7c478bd9Sstevel@tonic-gate usba10_usb_get_current_frame_number(dev_info_t	*dip)
450*7c478bd9Sstevel@tonic-gate {
451*7c478bd9Sstevel@tonic-gate 	return (usb_get_current_frame_number(dip));
452*7c478bd9Sstevel@tonic-gate }
453*7c478bd9Sstevel@tonic-gate 
454*7c478bd9Sstevel@tonic-gate 
455*7c478bd9Sstevel@tonic-gate uint_t
456*7c478bd9Sstevel@tonic-gate usba10_usb_get_max_isoc_pkts(dev_info_t *dip)
457*7c478bd9Sstevel@tonic-gate {
458*7c478bd9Sstevel@tonic-gate 	return (usb_get_max_isoc_pkts(dip));
459*7c478bd9Sstevel@tonic-gate }
460*7c478bd9Sstevel@tonic-gate 
461*7c478bd9Sstevel@tonic-gate 
462*7c478bd9Sstevel@tonic-gate int
463*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_isoc_xfer(
464*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
465*7c478bd9Sstevel@tonic-gate 	usb_isoc_req_t		*reqp,
466*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
467*7c478bd9Sstevel@tonic-gate {
468*7c478bd9Sstevel@tonic-gate 	return (usb_pipe_isoc_xfer(pipe_handle, reqp, flags));
469*7c478bd9Sstevel@tonic-gate }
470*7c478bd9Sstevel@tonic-gate 
471*7c478bd9Sstevel@tonic-gate 
472*7c478bd9Sstevel@tonic-gate void
473*7c478bd9Sstevel@tonic-gate usba10_usb_pipe_stop_isoc_polling(
474*7c478bd9Sstevel@tonic-gate 	usb_pipe_handle_t	pipe_handle,
475*7c478bd9Sstevel@tonic-gate 	usb_flags_t		flags)
476*7c478bd9Sstevel@tonic-gate {
477*7c478bd9Sstevel@tonic-gate 	usb_pipe_stop_isoc_polling(pipe_handle, flags);
478*7c478bd9Sstevel@tonic-gate }
479*7c478bd9Sstevel@tonic-gate 
480*7c478bd9Sstevel@tonic-gate 
481*7c478bd9Sstevel@tonic-gate int
482*7c478bd9Sstevel@tonic-gate usba10_usb_req_raise_power(
483*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
484*7c478bd9Sstevel@tonic-gate 	int		comp,
485*7c478bd9Sstevel@tonic-gate 	int		level,
486*7c478bd9Sstevel@tonic-gate 	void		(*cb)(void *arg, int rval),
487*7c478bd9Sstevel@tonic-gate 	void		*arg,
488*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flags)
489*7c478bd9Sstevel@tonic-gate {
490*7c478bd9Sstevel@tonic-gate 	return (usb_req_raise_power(dip, comp, level, cb, arg, flags));
491*7c478bd9Sstevel@tonic-gate }
492*7c478bd9Sstevel@tonic-gate 
493*7c478bd9Sstevel@tonic-gate 
494*7c478bd9Sstevel@tonic-gate int
495*7c478bd9Sstevel@tonic-gate usba10_usb_req_lower_power(
496*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
497*7c478bd9Sstevel@tonic-gate 	int		comp,
498*7c478bd9Sstevel@tonic-gate 	int		level,
499*7c478bd9Sstevel@tonic-gate 	void		(*cb)(void *arg, int rval),
500*7c478bd9Sstevel@tonic-gate 	void		*arg,
501*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flags)
502*7c478bd9Sstevel@tonic-gate {
503*7c478bd9Sstevel@tonic-gate 	return (usb_req_raise_power(dip, comp, level, cb, arg, flags));
504*7c478bd9Sstevel@tonic-gate }
505*7c478bd9Sstevel@tonic-gate 
506*7c478bd9Sstevel@tonic-gate 
507*7c478bd9Sstevel@tonic-gate int
508*7c478bd9Sstevel@tonic-gate usba10_usb_is_pm_enabled(dev_info_t *dip)
509*7c478bd9Sstevel@tonic-gate {
510*7c478bd9Sstevel@tonic-gate 	return (usb_is_pm_enabled(dip));
511*7c478bd9Sstevel@tonic-gate }
512*7c478bd9Sstevel@tonic-gate 
513*7c478bd9Sstevel@tonic-gate int
514*7c478bd9Sstevel@tonic-gate usba10_usb_handle_remote_wakeup(
515*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
516*7c478bd9Sstevel@tonic-gate 	int		cmd)
517*7c478bd9Sstevel@tonic-gate {
518*7c478bd9Sstevel@tonic-gate 	return (usb_handle_remote_wakeup(dip, cmd));
519*7c478bd9Sstevel@tonic-gate }
520*7c478bd9Sstevel@tonic-gate 
521*7c478bd9Sstevel@tonic-gate 
522*7c478bd9Sstevel@tonic-gate int
523*7c478bd9Sstevel@tonic-gate usba10_usb_create_pm_components(
524*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
525*7c478bd9Sstevel@tonic-gate 	uint_t		*pwrstates)
526*7c478bd9Sstevel@tonic-gate {
527*7c478bd9Sstevel@tonic-gate 	return (usb_create_pm_components(dip, pwrstates));
528*7c478bd9Sstevel@tonic-gate }
529*7c478bd9Sstevel@tonic-gate 
530*7c478bd9Sstevel@tonic-gate 
531*7c478bd9Sstevel@tonic-gate int
532*7c478bd9Sstevel@tonic-gate usba10_usb_set_device_pwrlvl0(dev_info_t *dip)
533*7c478bd9Sstevel@tonic-gate {
534*7c478bd9Sstevel@tonic-gate 	return (usb_set_device_pwrlvl0(dip));
535*7c478bd9Sstevel@tonic-gate }
536*7c478bd9Sstevel@tonic-gate 
537*7c478bd9Sstevel@tonic-gate 
538*7c478bd9Sstevel@tonic-gate int
539*7c478bd9Sstevel@tonic-gate usba10_usb_set_device_pwrlvl1(dev_info_t *dip)
540*7c478bd9Sstevel@tonic-gate {
541*7c478bd9Sstevel@tonic-gate 	return (usb_set_device_pwrlvl1(dip));
542*7c478bd9Sstevel@tonic-gate }
543*7c478bd9Sstevel@tonic-gate 
544*7c478bd9Sstevel@tonic-gate 
545*7c478bd9Sstevel@tonic-gate int
546*7c478bd9Sstevel@tonic-gate usba10_usb_set_device_pwrlvl2(dev_info_t *dip)
547*7c478bd9Sstevel@tonic-gate {
548*7c478bd9Sstevel@tonic-gate 	return (usb_set_device_pwrlvl2(dip));
549*7c478bd9Sstevel@tonic-gate }
550*7c478bd9Sstevel@tonic-gate 
551*7c478bd9Sstevel@tonic-gate 
552*7c478bd9Sstevel@tonic-gate int
553*7c478bd9Sstevel@tonic-gate usba10_usb_set_device_pwrlvl3(dev_info_t *dip)
554*7c478bd9Sstevel@tonic-gate {
555*7c478bd9Sstevel@tonic-gate 	return (usb_set_device_pwrlvl3(dip));
556*7c478bd9Sstevel@tonic-gate }
557*7c478bd9Sstevel@tonic-gate 
558*7c478bd9Sstevel@tonic-gate 
559*7c478bd9Sstevel@tonic-gate int
560*7c478bd9Sstevel@tonic-gate usba10_usb_async_req(
561*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
562*7c478bd9Sstevel@tonic-gate 	void		(*func)(void *),
563*7c478bd9Sstevel@tonic-gate 	void		*arg,
564*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flag)
565*7c478bd9Sstevel@tonic-gate {
566*7c478bd9Sstevel@tonic-gate 	return (usb_async_req(dip, func, arg, flag));
567*7c478bd9Sstevel@tonic-gate }
568*7c478bd9Sstevel@tonic-gate 
569*7c478bd9Sstevel@tonic-gate 
570*7c478bd9Sstevel@tonic-gate int
571*7c478bd9Sstevel@tonic-gate usba10_usb_register_event_cbs(
572*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
573*7c478bd9Sstevel@tonic-gate 	usb_event_t	*usb_evt_data,
574*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flags)
575*7c478bd9Sstevel@tonic-gate {
576*7c478bd9Sstevel@tonic-gate 	return (usb_register_event_cbs(dip, usb_evt_data, flags));
577*7c478bd9Sstevel@tonic-gate }
578*7c478bd9Sstevel@tonic-gate 
579*7c478bd9Sstevel@tonic-gate 
580*7c478bd9Sstevel@tonic-gate void
581*7c478bd9Sstevel@tonic-gate usba10_usb_unregister_event_cbs(
582*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
583*7c478bd9Sstevel@tonic-gate 	usb_event_t	*usb_evt_data)
584*7c478bd9Sstevel@tonic-gate {
585*7c478bd9Sstevel@tonic-gate 	usb_unregister_event_cbs(dip, usb_evt_data);
586*7c478bd9Sstevel@tonic-gate }
587*7c478bd9Sstevel@tonic-gate 
588*7c478bd9Sstevel@tonic-gate 
589*7c478bd9Sstevel@tonic-gate void
590*7c478bd9Sstevel@tonic-gate usba10_usb_fail_checkpoint(
591*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
592*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flags)
593*7c478bd9Sstevel@tonic-gate {
594*7c478bd9Sstevel@tonic-gate 	usb_fail_checkpoint(dip, flags);
595*7c478bd9Sstevel@tonic-gate }
596*7c478bd9Sstevel@tonic-gate 
597*7c478bd9Sstevel@tonic-gate 
598*7c478bd9Sstevel@tonic-gate int
599*7c478bd9Sstevel@tonic-gate usba10_usba_vlog(
600*7c478bd9Sstevel@tonic-gate 	usb_log_handle_t	handle,
601*7c478bd9Sstevel@tonic-gate 	uint_t			level,
602*7c478bd9Sstevel@tonic-gate 	uint_t			mask,
603*7c478bd9Sstevel@tonic-gate 	char			*fmt,
604*7c478bd9Sstevel@tonic-gate 	va_list			ap)
605*7c478bd9Sstevel@tonic-gate {
606*7c478bd9Sstevel@tonic-gate 	return (usba_vlog(handle, level, mask, fmt, ap));
607*7c478bd9Sstevel@tonic-gate }
608*7c478bd9Sstevel@tonic-gate 
609*7c478bd9Sstevel@tonic-gate 
610*7c478bd9Sstevel@tonic-gate usb_log_handle_t
611*7c478bd9Sstevel@tonic-gate usba10_usb_alloc_log_handle(
612*7c478bd9Sstevel@tonic-gate 	dev_info_t	*dip,
613*7c478bd9Sstevel@tonic-gate 	char		*name,
614*7c478bd9Sstevel@tonic-gate 	uint_t		*errlevel,
615*7c478bd9Sstevel@tonic-gate 	uint_t		*mask,
616*7c478bd9Sstevel@tonic-gate 	uint_t		*instance_filter,
617*7c478bd9Sstevel@tonic-gate 	uint_t		show_label,
618*7c478bd9Sstevel@tonic-gate 	usb_flags_t	flags)
619*7c478bd9Sstevel@tonic-gate {
620*7c478bd9Sstevel@tonic-gate 	return (usb_alloc_log_handle(
621*7c478bd9Sstevel@tonic-gate 	    dip, name, errlevel, mask, instance_filter, show_label, flags));
622*7c478bd9Sstevel@tonic-gate }
623*7c478bd9Sstevel@tonic-gate 
624*7c478bd9Sstevel@tonic-gate 
625*7c478bd9Sstevel@tonic-gate void
626*7c478bd9Sstevel@tonic-gate usba10_usb_free_log_handle(usb_log_handle_t handle)
627*7c478bd9Sstevel@tonic-gate {
628*7c478bd9Sstevel@tonic-gate 	usb_free_log_handle(handle);
629*7c478bd9Sstevel@tonic-gate }
630*7c478bd9Sstevel@tonic-gate 
631*7c478bd9Sstevel@tonic-gate 
632*7c478bd9Sstevel@tonic-gate int
633*7c478bd9Sstevel@tonic-gate usba10_usb_log_descr_tree(
634*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t	*dev_data,
635*7c478bd9Sstevel@tonic-gate 	usb_log_handle_t	log_handle,
636*7c478bd9Sstevel@tonic-gate 	uint_t			level,
637*7c478bd9Sstevel@tonic-gate 	uint_t			mask)
638*7c478bd9Sstevel@tonic-gate {
639*7c478bd9Sstevel@tonic-gate 	return (usb_log_descr_tree(dev_data, log_handle, level, mask));
640*7c478bd9Sstevel@tonic-gate }
641*7c478bd9Sstevel@tonic-gate 
642*7c478bd9Sstevel@tonic-gate 
643*7c478bd9Sstevel@tonic-gate int
644*7c478bd9Sstevel@tonic-gate usba10_usb_print_descr_tree(
645*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
646*7c478bd9Sstevel@tonic-gate 	usb_client_dev_data_t	*dev_data)
647*7c478bd9Sstevel@tonic-gate {
648*7c478bd9Sstevel@tonic-gate 	return (usb_print_descr_tree(dip, dev_data));
649*7c478bd9Sstevel@tonic-gate }
650*7c478bd9Sstevel@tonic-gate 
651*7c478bd9Sstevel@tonic-gate 
652*7c478bd9Sstevel@tonic-gate int
653*7c478bd9Sstevel@tonic-gate usba10_usb_check_same_device(
654*7c478bd9Sstevel@tonic-gate 	dev_info_t		*dip,
655*7c478bd9Sstevel@tonic-gate 	usb_log_handle_t	log_handle,
656*7c478bd9Sstevel@tonic-gate 	int			log_level,
657*7c478bd9Sstevel@tonic-gate 	int			log_mask,
658*7c478bd9Sstevel@tonic-gate 	uint_t			check_mask,
659*7c478bd9Sstevel@tonic-gate 	char			*device_string)
660*7c478bd9Sstevel@tonic-gate {
661*7c478bd9Sstevel@tonic-gate 	return (usb_check_same_device(
662*7c478bd9Sstevel@tonic-gate 	    dip, log_handle, log_level, log_mask, check_mask, device_string));
663*7c478bd9Sstevel@tonic-gate }
664*7c478bd9Sstevel@tonic-gate 
665*7c478bd9Sstevel@tonic-gate 
666*7c478bd9Sstevel@tonic-gate const char *
667*7c478bd9Sstevel@tonic-gate usba10_usb_str_cr(usb_cr_t cr)
668*7c478bd9Sstevel@tonic-gate {
669*7c478bd9Sstevel@tonic-gate 	return (usb_str_cr(cr));
670*7c478bd9Sstevel@tonic-gate }
671*7c478bd9Sstevel@tonic-gate 
672*7c478bd9Sstevel@tonic-gate 
673*7c478bd9Sstevel@tonic-gate char *
674*7c478bd9Sstevel@tonic-gate usba10_usb_str_cb_flags(
675*7c478bd9Sstevel@tonic-gate 	usb_cb_flags_t cb_flags,
676*7c478bd9Sstevel@tonic-gate 	char *buffer,
677*7c478bd9Sstevel@tonic-gate 	size_t length)
678*7c478bd9Sstevel@tonic-gate {
679*7c478bd9Sstevel@tonic-gate 	return (usb_str_cb_flags(cb_flags, buffer, length));
680*7c478bd9Sstevel@tonic-gate }
681*7c478bd9Sstevel@tonic-gate 
682*7c478bd9Sstevel@tonic-gate 
683*7c478bd9Sstevel@tonic-gate const char *
684*7c478bd9Sstevel@tonic-gate usba10_usb_str_pipe_state(usb_pipe_state_t state)
685*7c478bd9Sstevel@tonic-gate {
686*7c478bd9Sstevel@tonic-gate 	return (usb_str_pipe_state(state));
687*7c478bd9Sstevel@tonic-gate }
688*7c478bd9Sstevel@tonic-gate 
689*7c478bd9Sstevel@tonic-gate 
690*7c478bd9Sstevel@tonic-gate const char *
691*7c478bd9Sstevel@tonic-gate usba10_usb_str_dev_state(int state)
692*7c478bd9Sstevel@tonic-gate {
693*7c478bd9Sstevel@tonic-gate 	return (usb_str_dev_state(state));
694*7c478bd9Sstevel@tonic-gate }
695*7c478bd9Sstevel@tonic-gate 
696*7c478bd9Sstevel@tonic-gate 
697*7c478bd9Sstevel@tonic-gate const char *
698*7c478bd9Sstevel@tonic-gate usba10_usb_str_rval(int rval)
699*7c478bd9Sstevel@tonic-gate {
700*7c478bd9Sstevel@tonic-gate 	return (usb_str_rval(rval));
701*7c478bd9Sstevel@tonic-gate }
702*7c478bd9Sstevel@tonic-gate 
703*7c478bd9Sstevel@tonic-gate 
704*7c478bd9Sstevel@tonic-gate int
705*7c478bd9Sstevel@tonic-gate usba10_usb_rval2errno(int rval)
706*7c478bd9Sstevel@tonic-gate {
707*7c478bd9Sstevel@tonic-gate 	return (usb_rval2errno(rval));
708*7c478bd9Sstevel@tonic-gate }
709*7c478bd9Sstevel@tonic-gate 
710*7c478bd9Sstevel@tonic-gate 
711*7c478bd9Sstevel@tonic-gate usb_serialization_t
712*7c478bd9Sstevel@tonic-gate usba10_usb_init_serialization(
713*7c478bd9Sstevel@tonic-gate 	dev_info_t	*s_dip,
714*7c478bd9Sstevel@tonic-gate 	uint_t		flag)
715*7c478bd9Sstevel@tonic-gate {
716*7c478bd9Sstevel@tonic-gate 	return (usb_init_serialization(s_dip, flag));
717*7c478bd9Sstevel@tonic-gate }
718*7c478bd9Sstevel@tonic-gate 
719*7c478bd9Sstevel@tonic-gate 
720*7c478bd9Sstevel@tonic-gate void
721*7c478bd9Sstevel@tonic-gate usba10_usb_fini_serialization(usb_serialization_t usb_serp)
722*7c478bd9Sstevel@tonic-gate {
723*7c478bd9Sstevel@tonic-gate 	usb_fini_serialization(usb_serp);
724*7c478bd9Sstevel@tonic-gate }
725*7c478bd9Sstevel@tonic-gate 
726*7c478bd9Sstevel@tonic-gate 
727*7c478bd9Sstevel@tonic-gate int
728*7c478bd9Sstevel@tonic-gate usba10_usb_serialize_access(
729*7c478bd9Sstevel@tonic-gate 	usb_serialization_t	usb_serp,
730*7c478bd9Sstevel@tonic-gate 	uint_t			how_to_wait,
731*7c478bd9Sstevel@tonic-gate 	uint_t			delta_timeout)
732*7c478bd9Sstevel@tonic-gate {
733*7c478bd9Sstevel@tonic-gate 	return (usb_serialize_access(
734*7c478bd9Sstevel@tonic-gate 	    usb_serp, how_to_wait, delta_timeout));
735*7c478bd9Sstevel@tonic-gate }
736*7c478bd9Sstevel@tonic-gate 
737*7c478bd9Sstevel@tonic-gate 
738*7c478bd9Sstevel@tonic-gate int
739*7c478bd9Sstevel@tonic-gate usba10_usb_try_serialize_access(
740*7c478bd9Sstevel@tonic-gate 	usb_serialization_t usb_serp,
741*7c478bd9Sstevel@tonic-gate 	uint_t flag)
742*7c478bd9Sstevel@tonic-gate {
743*7c478bd9Sstevel@tonic-gate 	return (usb_try_serialize_access(usb_serp, flag));
744*7c478bd9Sstevel@tonic-gate }
745*7c478bd9Sstevel@tonic-gate 
746*7c478bd9Sstevel@tonic-gate 
747*7c478bd9Sstevel@tonic-gate void
748*7c478bd9Sstevel@tonic-gate usba10_usb_release_access(usb_serialization_t usb_serp)
749*7c478bd9Sstevel@tonic-gate {
750*7c478bd9Sstevel@tonic-gate 	usb_release_access(usb_serp);
751*7c478bd9Sstevel@tonic-gate }
752*7c478bd9Sstevel@tonic-gate 
753*7c478bd9Sstevel@tonic-gate #endif
754