10Sstevel@tonic-gate /*
20Sstevel@tonic-gate * CDDL HEADER START
30Sstevel@tonic-gate *
40Sstevel@tonic-gate * The contents of this file are subject to the terms of the
57425SGongtian.Zhao@Sun.COM * Common Development and Distribution License (the "License").
67425SGongtian.Zhao@Sun.COM * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate *
80Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate * See the License for the specific language governing permissions
110Sstevel@tonic-gate * and limitations under the License.
120Sstevel@tonic-gate *
130Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate *
190Sstevel@tonic-gate * CDDL HEADER END
200Sstevel@tonic-gate */
210Sstevel@tonic-gate /*
227425SGongtian.Zhao@Sun.COM * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
230Sstevel@tonic-gate * Use is subject to license terms.
240Sstevel@tonic-gate */
250Sstevel@tonic-gate
260Sstevel@tonic-gate
270Sstevel@tonic-gate /*
280Sstevel@tonic-gate * Dummy module to load usba module on behalf of legacy drivers.
290Sstevel@tonic-gate *
300Sstevel@tonic-gate * Please see the on81-patch gate usr/src/uts/common/sys/usba10/usba10_usbai.h
310Sstevel@tonic-gate * header file for descriptions and comments for these functions.
320Sstevel@tonic-gate */
330Sstevel@tonic-gate
340Sstevel@tonic-gate #include <sys/usb/usba.h>
350Sstevel@tonic-gate #include <sys/usb/usba/usbai_private.h>
360Sstevel@tonic-gate #include <sys/usb/usba/usba10.h>
370Sstevel@tonic-gate
380Sstevel@tonic-gate /*
390Sstevel@tonic-gate * modload support
400Sstevel@tonic-gate */
410Sstevel@tonic-gate
42*7767SJohn.Beck@Sun.COM static struct modlmisc modlmisc = {
430Sstevel@tonic-gate &mod_miscops, /* Type of module */
447425SGongtian.Zhao@Sun.COM "USBA10: USB V0.8 Drvr Supp"
450Sstevel@tonic-gate };
460Sstevel@tonic-gate
47*7767SJohn.Beck@Sun.COM static struct modlinkage modlinkage = {
480Sstevel@tonic-gate MODREV_1, (void *)&modlmisc, NULL
490Sstevel@tonic-gate };
500Sstevel@tonic-gate
510Sstevel@tonic-gate
520Sstevel@tonic-gate int
_init(void)530Sstevel@tonic-gate _init(void)
540Sstevel@tonic-gate {
550Sstevel@tonic-gate return (mod_install(&modlinkage));
560Sstevel@tonic-gate }
570Sstevel@tonic-gate
580Sstevel@tonic-gate int
_fini()590Sstevel@tonic-gate _fini()
600Sstevel@tonic-gate {
610Sstevel@tonic-gate return (mod_remove(&modlinkage));
620Sstevel@tonic-gate }
630Sstevel@tonic-gate
640Sstevel@tonic-gate int
_info(struct modinfo * modinfop)650Sstevel@tonic-gate _info(struct modinfo *modinfop)
660Sstevel@tonic-gate {
670Sstevel@tonic-gate return (mod_info(&modlinkage, modinfop));
680Sstevel@tonic-gate }
690Sstevel@tonic-gate
700Sstevel@tonic-gate /*
710Sstevel@tonic-gate * Turn off lint checking of this module because it will find duplicate names
720Sstevel@tonic-gate * defined here and in the usbai.c source for the usba module.
730Sstevel@tonic-gate */
740Sstevel@tonic-gate #ifndef __lint
750Sstevel@tonic-gate
760Sstevel@tonic-gate int
usb_register_client(dev_info_t * dip,uint_t version,usb_client_dev_data_t ** dev_data,usb_reg_parse_lvl_t parse_level,usb_flags_t flags)770Sstevel@tonic-gate usb_register_client(
780Sstevel@tonic-gate dev_info_t *dip,
790Sstevel@tonic-gate uint_t version,
800Sstevel@tonic-gate usb_client_dev_data_t **dev_data,
810Sstevel@tonic-gate usb_reg_parse_lvl_t parse_level,
820Sstevel@tonic-gate usb_flags_t flags)
830Sstevel@tonic-gate {
840Sstevel@tonic-gate return (usba10_usb_register_client(
850Sstevel@tonic-gate dip, version, dev_data, parse_level, flags));
860Sstevel@tonic-gate }
870Sstevel@tonic-gate
880Sstevel@tonic-gate
890Sstevel@tonic-gate void
usb_unregister_client(dev_info_t * dip,usb_client_dev_data_t * dev_data)900Sstevel@tonic-gate usb_unregister_client(
910Sstevel@tonic-gate dev_info_t *dip,
920Sstevel@tonic-gate usb_client_dev_data_t *dev_data)
930Sstevel@tonic-gate {
940Sstevel@tonic-gate usba10_usb_unregister_client(dip, dev_data);
950Sstevel@tonic-gate }
960Sstevel@tonic-gate
970Sstevel@tonic-gate
980Sstevel@tonic-gate void
usb_free_descr_tree(dev_info_t * dip,usb_client_dev_data_t * dev_data)990Sstevel@tonic-gate usb_free_descr_tree(
1000Sstevel@tonic-gate dev_info_t *dip,
1010Sstevel@tonic-gate usb_client_dev_data_t *dev_data)
1020Sstevel@tonic-gate {
1030Sstevel@tonic-gate usba10_usb_free_descr_tree(dip, dev_data);
1040Sstevel@tonic-gate }
1050Sstevel@tonic-gate
1060Sstevel@tonic-gate
1070Sstevel@tonic-gate size_t
usb_parse_data(char * format,uchar_t * data,size_t datalen,void * structure,size_t structlen)1080Sstevel@tonic-gate usb_parse_data(
1090Sstevel@tonic-gate char *format,
1100Sstevel@tonic-gate uchar_t *data,
1110Sstevel@tonic-gate size_t datalen,
1120Sstevel@tonic-gate void *structure,
1130Sstevel@tonic-gate size_t structlen)
1140Sstevel@tonic-gate {
1150Sstevel@tonic-gate return (usba10_usb_parse_data(
1160Sstevel@tonic-gate format, data, datalen, structure, structlen));
1170Sstevel@tonic-gate }
1180Sstevel@tonic-gate
1190Sstevel@tonic-gate
1200Sstevel@tonic-gate usb_ep_data_t *
usb_get_ep_data(dev_info_t * dip,usb_client_dev_data_t * dev_datap,uint_t interface,uint_t alternate,uint_t type,uint_t direction)1210Sstevel@tonic-gate usb_get_ep_data(
1220Sstevel@tonic-gate dev_info_t *dip,
1230Sstevel@tonic-gate usb_client_dev_data_t *dev_datap,
1240Sstevel@tonic-gate uint_t interface,
1250Sstevel@tonic-gate uint_t alternate,
1260Sstevel@tonic-gate uint_t type,
1270Sstevel@tonic-gate uint_t direction)
1280Sstevel@tonic-gate {
1290Sstevel@tonic-gate return (usba10_usb_get_ep_data(
1300Sstevel@tonic-gate dip, dev_datap, interface, alternate, type, direction));
1310Sstevel@tonic-gate }
1320Sstevel@tonic-gate
1330Sstevel@tonic-gate
1340Sstevel@tonic-gate int
usb_get_string_descr(dev_info_t * dip,uint16_t langid,uint8_t index,char * buf,size_t buflen)1350Sstevel@tonic-gate usb_get_string_descr(
1360Sstevel@tonic-gate dev_info_t *dip,
1370Sstevel@tonic-gate uint16_t langid,
1380Sstevel@tonic-gate uint8_t index,
1390Sstevel@tonic-gate char *buf,
1400Sstevel@tonic-gate size_t buflen)
1410Sstevel@tonic-gate {
1420Sstevel@tonic-gate return (usba10_usb_get_string_descr(dip, langid, index, buf, buflen));
1430Sstevel@tonic-gate }
1440Sstevel@tonic-gate
1450Sstevel@tonic-gate
1460Sstevel@tonic-gate int
usb_get_addr(dev_info_t * dip)1470Sstevel@tonic-gate usb_get_addr(dev_info_t *dip)
1480Sstevel@tonic-gate {
1490Sstevel@tonic-gate return (usba10_usb_get_addr(dip));
1500Sstevel@tonic-gate }
1510Sstevel@tonic-gate
1520Sstevel@tonic-gate
1530Sstevel@tonic-gate int
usb_get_if_number(dev_info_t * dip)1540Sstevel@tonic-gate usb_get_if_number(dev_info_t *dip)
1550Sstevel@tonic-gate {
1560Sstevel@tonic-gate return (usba10_usb_get_if_number(dip));
1570Sstevel@tonic-gate }
1580Sstevel@tonic-gate
1590Sstevel@tonic-gate
1600Sstevel@tonic-gate boolean_t
usb_owns_device(dev_info_t * dip)1610Sstevel@tonic-gate usb_owns_device(dev_info_t *dip)
1620Sstevel@tonic-gate {
1630Sstevel@tonic-gate return (usba10_usb_owns_device(dip));
1640Sstevel@tonic-gate }
1650Sstevel@tonic-gate
1660Sstevel@tonic-gate
1670Sstevel@tonic-gate int
usb_pipe_get_state(usb_pipe_handle_t pipe_handle,usb_pipe_state_t * pipe_state,usb_flags_t flags)1680Sstevel@tonic-gate usb_pipe_get_state(
1690Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
1700Sstevel@tonic-gate usb_pipe_state_t *pipe_state,
1710Sstevel@tonic-gate usb_flags_t flags)
1720Sstevel@tonic-gate {
1730Sstevel@tonic-gate return (usba10_usb_pipe_get_state(pipe_handle, pipe_state, flags));
1740Sstevel@tonic-gate }
1750Sstevel@tonic-gate
1760Sstevel@tonic-gate
1770Sstevel@tonic-gate int
usb_ep_num(usb_pipe_handle_t ph)1780Sstevel@tonic-gate usb_ep_num(usb_pipe_handle_t ph)
1790Sstevel@tonic-gate {
1800Sstevel@tonic-gate return (usba10_usb_ep_num(ph));
1810Sstevel@tonic-gate }
1820Sstevel@tonic-gate
1830Sstevel@tonic-gate
1840Sstevel@tonic-gate int
usb_pipe_open(dev_info_t * dip,usb_ep_descr_t * ep,usb_pipe_policy_t * pipe_policy,usb_flags_t flags,usb_pipe_handle_t * pipe_handle)1850Sstevel@tonic-gate usb_pipe_open(
1860Sstevel@tonic-gate dev_info_t *dip,
1870Sstevel@tonic-gate usb_ep_descr_t *ep,
1880Sstevel@tonic-gate usb_pipe_policy_t *pipe_policy,
1890Sstevel@tonic-gate usb_flags_t flags,
1900Sstevel@tonic-gate usb_pipe_handle_t *pipe_handle)
1910Sstevel@tonic-gate {
1920Sstevel@tonic-gate return (usba10_usb_pipe_open(dip, ep, pipe_policy, flags, pipe_handle));
1930Sstevel@tonic-gate }
1940Sstevel@tonic-gate
1950Sstevel@tonic-gate
1960Sstevel@tonic-gate void
usb_pipe_close(dev_info_t * dip,usb_pipe_handle_t pipe_handle,usb_flags_t flags,void (* cb)(usb_pipe_handle_t ph,usb_opaque_t arg,int rval,usb_cb_flags_t flags),usb_opaque_t cb_arg)1970Sstevel@tonic-gate usb_pipe_close(
1980Sstevel@tonic-gate dev_info_t *dip,
1990Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
2000Sstevel@tonic-gate usb_flags_t flags,
2010Sstevel@tonic-gate void (*cb)(
2020Sstevel@tonic-gate usb_pipe_handle_t ph,
2030Sstevel@tonic-gate usb_opaque_t arg, /* cb arg */
2040Sstevel@tonic-gate int rval,
2050Sstevel@tonic-gate usb_cb_flags_t flags),
2060Sstevel@tonic-gate usb_opaque_t cb_arg)
2070Sstevel@tonic-gate {
2080Sstevel@tonic-gate usba10_usb_pipe_close(dip, pipe_handle, flags, cb, cb_arg);
2090Sstevel@tonic-gate }
2100Sstevel@tonic-gate
2110Sstevel@tonic-gate
2120Sstevel@tonic-gate int
usb_pipe_drain_reqs(dev_info_t * dip,usb_pipe_handle_t pipe_handle,uint_t time,usb_flags_t flags,void (* cb)(usb_pipe_handle_t ph,usb_opaque_t arg,int rval,usb_cb_flags_t flags),usb_opaque_t cb_arg)2130Sstevel@tonic-gate usb_pipe_drain_reqs(
2140Sstevel@tonic-gate dev_info_t *dip,
2150Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
2160Sstevel@tonic-gate uint_t time,
2170Sstevel@tonic-gate usb_flags_t flags,
2180Sstevel@tonic-gate void (*cb)(
2190Sstevel@tonic-gate usb_pipe_handle_t ph,
2200Sstevel@tonic-gate usb_opaque_t arg, /* cb arg */
2210Sstevel@tonic-gate int rval,
2220Sstevel@tonic-gate usb_cb_flags_t flags),
2230Sstevel@tonic-gate usb_opaque_t cb_arg)
2240Sstevel@tonic-gate {
2250Sstevel@tonic-gate return (usba10_usb_pipe_drain_reqs(
2260Sstevel@tonic-gate dip, pipe_handle, time, flags, cb, cb_arg));
2270Sstevel@tonic-gate }
2280Sstevel@tonic-gate
2290Sstevel@tonic-gate
2300Sstevel@tonic-gate int
usb_pipe_set_private(usb_pipe_handle_t pipe_handle,usb_opaque_t data)2310Sstevel@tonic-gate usb_pipe_set_private(
2320Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
2330Sstevel@tonic-gate usb_opaque_t data)
2340Sstevel@tonic-gate {
2350Sstevel@tonic-gate return (usba10_usb_pipe_set_private(pipe_handle, data));
2360Sstevel@tonic-gate }
2370Sstevel@tonic-gate
2380Sstevel@tonic-gate
2390Sstevel@tonic-gate usb_opaque_t
usb_pipe_get_private(usb_pipe_handle_t pipe_handle)2400Sstevel@tonic-gate usb_pipe_get_private(usb_pipe_handle_t pipe_handle)
2410Sstevel@tonic-gate {
2420Sstevel@tonic-gate return (usba10_usb_pipe_get_private(pipe_handle));
2430Sstevel@tonic-gate }
2440Sstevel@tonic-gate
2450Sstevel@tonic-gate
2460Sstevel@tonic-gate void
usb_pipe_reset(dev_info_t * dip,usb_pipe_handle_t pipe_handle,usb_flags_t usb_flags,void (* cb)(usb_pipe_handle_t ph,usb_opaque_t arg,int rval,usb_cb_flags_t flags),usb_opaque_t cb_arg)2470Sstevel@tonic-gate usb_pipe_reset(
2480Sstevel@tonic-gate dev_info_t *dip,
2490Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
2500Sstevel@tonic-gate usb_flags_t usb_flags,
2510Sstevel@tonic-gate void (*cb)(
2520Sstevel@tonic-gate usb_pipe_handle_t ph,
2530Sstevel@tonic-gate usb_opaque_t arg,
2540Sstevel@tonic-gate int rval,
2550Sstevel@tonic-gate usb_cb_flags_t flags),
2560Sstevel@tonic-gate usb_opaque_t cb_arg)
2570Sstevel@tonic-gate {
2580Sstevel@tonic-gate usba10_usb_pipe_reset(dip, pipe_handle, usb_flags, cb, cb_arg);
2590Sstevel@tonic-gate }
2600Sstevel@tonic-gate
2610Sstevel@tonic-gate
2620Sstevel@tonic-gate usb_ctrl_req_t *
usb_alloc_ctrl_req(dev_info_t * dip,size_t len,usb_flags_t flags)2630Sstevel@tonic-gate usb_alloc_ctrl_req(
2640Sstevel@tonic-gate dev_info_t *dip,
2650Sstevel@tonic-gate size_t len,
2660Sstevel@tonic-gate usb_flags_t flags)
2670Sstevel@tonic-gate {
2680Sstevel@tonic-gate return (usba10_usb_alloc_ctrl_req(dip, len, flags));
2690Sstevel@tonic-gate }
2700Sstevel@tonic-gate
2710Sstevel@tonic-gate
2720Sstevel@tonic-gate void
usb_free_ctrl_req(usb_ctrl_req_t * reqp)2730Sstevel@tonic-gate usb_free_ctrl_req(usb_ctrl_req_t *reqp)
2740Sstevel@tonic-gate {
2750Sstevel@tonic-gate usba10_usb_free_ctrl_req(reqp);
2760Sstevel@tonic-gate }
2770Sstevel@tonic-gate
2780Sstevel@tonic-gate
2790Sstevel@tonic-gate int
usb_pipe_ctrl_xfer(usb_pipe_handle_t pipe_handle,usb_ctrl_req_t * reqp,usb_flags_t flags)2800Sstevel@tonic-gate usb_pipe_ctrl_xfer(
2810Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
2820Sstevel@tonic-gate usb_ctrl_req_t *reqp,
2830Sstevel@tonic-gate usb_flags_t flags)
2840Sstevel@tonic-gate {
2850Sstevel@tonic-gate return (usba10_usb_pipe_ctrl_xfer(pipe_handle, reqp, flags));
2860Sstevel@tonic-gate }
2870Sstevel@tonic-gate
2880Sstevel@tonic-gate
2890Sstevel@tonic-gate int
usb_get_status(dev_info_t * dip,usb_pipe_handle_t ph,uint_t type,uint_t what,uint16_t * status,usb_flags_t flags)2900Sstevel@tonic-gate usb_get_status(
2910Sstevel@tonic-gate dev_info_t *dip,
2920Sstevel@tonic-gate usb_pipe_handle_t ph,
2930Sstevel@tonic-gate uint_t type, /* bmRequestType */
2940Sstevel@tonic-gate uint_t what, /* 0, interface, endpoint number */
2950Sstevel@tonic-gate uint16_t *status,
2960Sstevel@tonic-gate usb_flags_t flags)
2970Sstevel@tonic-gate {
2980Sstevel@tonic-gate return (usba10_usb_get_status(dip, ph, type, what, status, flags));
2990Sstevel@tonic-gate }
3000Sstevel@tonic-gate
3010Sstevel@tonic-gate
3020Sstevel@tonic-gate int
usb_clear_feature(dev_info_t * dip,usb_pipe_handle_t ph,uint_t type,uint_t feature,uint_t what,usb_flags_t flags)3030Sstevel@tonic-gate usb_clear_feature(
3040Sstevel@tonic-gate dev_info_t *dip,
3050Sstevel@tonic-gate usb_pipe_handle_t ph,
3060Sstevel@tonic-gate uint_t type, /* bmRequestType */
3070Sstevel@tonic-gate uint_t feature,
3080Sstevel@tonic-gate uint_t what, /* 0, interface, endpoint number */
3090Sstevel@tonic-gate usb_flags_t flags)
3100Sstevel@tonic-gate {
3110Sstevel@tonic-gate return (usba10_usb_clear_feature(dip, ph, type, feature, what, flags));
3120Sstevel@tonic-gate }
3130Sstevel@tonic-gate
3140Sstevel@tonic-gate
3150Sstevel@tonic-gate int
usb_pipe_ctrl_xfer_wait(usb_pipe_handle_t pipe_handle,usb_ctrl_setup_t * setup,mblk_t ** data,usb_cr_t * completion_reason,usb_cb_flags_t * cb_flags,usb_flags_t flags)3160Sstevel@tonic-gate usb_pipe_ctrl_xfer_wait(
3170Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
3180Sstevel@tonic-gate usb_ctrl_setup_t *setup,
3190Sstevel@tonic-gate mblk_t **data,
3200Sstevel@tonic-gate usb_cr_t *completion_reason,
3210Sstevel@tonic-gate usb_cb_flags_t *cb_flags,
3220Sstevel@tonic-gate usb_flags_t flags)
3230Sstevel@tonic-gate {
3240Sstevel@tonic-gate return (usba10_usb_pipe_ctrl_xfer_wait(
3250Sstevel@tonic-gate pipe_handle, setup, data, completion_reason, cb_flags, flags));
3260Sstevel@tonic-gate }
3270Sstevel@tonic-gate
3280Sstevel@tonic-gate
3290Sstevel@tonic-gate int
usb_set_cfg(dev_info_t * dip,uint_t cfg_index,usb_flags_t usb_flags,void (* cb)(usb_pipe_handle_t ph,usb_opaque_t arg,int rval,usb_cb_flags_t flags),usb_opaque_t cb_arg)3300Sstevel@tonic-gate usb_set_cfg(
3310Sstevel@tonic-gate dev_info_t *dip,
3320Sstevel@tonic-gate uint_t cfg_index,
3330Sstevel@tonic-gate usb_flags_t usb_flags,
3340Sstevel@tonic-gate void (*cb)(
3350Sstevel@tonic-gate usb_pipe_handle_t ph,
3360Sstevel@tonic-gate usb_opaque_t arg,
3370Sstevel@tonic-gate int rval,
3380Sstevel@tonic-gate usb_cb_flags_t flags),
3390Sstevel@tonic-gate usb_opaque_t cb_arg)
3400Sstevel@tonic-gate {
3410Sstevel@tonic-gate return (usba10_usb_set_cfg(dip, cfg_index, usb_flags, cb, cb_arg));
3420Sstevel@tonic-gate }
3430Sstevel@tonic-gate
3440Sstevel@tonic-gate
3450Sstevel@tonic-gate int
usb_get_cfg(dev_info_t * dip,uint_t * cfgval,usb_flags_t usb_flags)3460Sstevel@tonic-gate usb_get_cfg(
3470Sstevel@tonic-gate dev_info_t *dip,
3480Sstevel@tonic-gate uint_t *cfgval,
3490Sstevel@tonic-gate usb_flags_t usb_flags)
3500Sstevel@tonic-gate {
3510Sstevel@tonic-gate return (usba10_usb_get_cfg(dip, cfgval, usb_flags));
3520Sstevel@tonic-gate }
3530Sstevel@tonic-gate
3540Sstevel@tonic-gate
3550Sstevel@tonic-gate int
usb_set_alt_if(dev_info_t * dip,uint_t interface,uint_t alt_number,usb_flags_t usb_flags,void (* cb)(usb_pipe_handle_t ph,usb_opaque_t arg,int rval,usb_cb_flags_t flags),usb_opaque_t cb_arg)3560Sstevel@tonic-gate usb_set_alt_if(
3570Sstevel@tonic-gate dev_info_t *dip,
3580Sstevel@tonic-gate uint_t interface,
3590Sstevel@tonic-gate uint_t alt_number,
3600Sstevel@tonic-gate usb_flags_t usb_flags,
3610Sstevel@tonic-gate void (*cb)(
3620Sstevel@tonic-gate usb_pipe_handle_t ph,
3630Sstevel@tonic-gate usb_opaque_t arg,
3640Sstevel@tonic-gate int rval,
3650Sstevel@tonic-gate usb_cb_flags_t flags),
3660Sstevel@tonic-gate usb_opaque_t cb_arg)
3670Sstevel@tonic-gate {
3680Sstevel@tonic-gate return (usba10_usb_set_alt_if(
3690Sstevel@tonic-gate dip, interface, alt_number, usb_flags, cb, cb_arg));
3700Sstevel@tonic-gate }
3710Sstevel@tonic-gate
3720Sstevel@tonic-gate
3730Sstevel@tonic-gate int
usb_get_alt_if(dev_info_t * dip,uint_t if_number,uint_t * alt_number,usb_flags_t flags)3740Sstevel@tonic-gate usb_get_alt_if(
3750Sstevel@tonic-gate dev_info_t *dip,
3760Sstevel@tonic-gate uint_t if_number,
3770Sstevel@tonic-gate uint_t *alt_number,
3780Sstevel@tonic-gate usb_flags_t flags)
3790Sstevel@tonic-gate {
3800Sstevel@tonic-gate return (usba10_usb_get_alt_if(dip, if_number, alt_number, flags));
3810Sstevel@tonic-gate }
3820Sstevel@tonic-gate
3830Sstevel@tonic-gate
3840Sstevel@tonic-gate usb_bulk_req_t *
usb_alloc_bulk_req(dev_info_t * dip,size_t len,usb_flags_t flags)3850Sstevel@tonic-gate usb_alloc_bulk_req(
3860Sstevel@tonic-gate dev_info_t *dip,
3870Sstevel@tonic-gate size_t len,
3880Sstevel@tonic-gate usb_flags_t flags)
3890Sstevel@tonic-gate {
3900Sstevel@tonic-gate return (usba10_usb_alloc_bulk_req(dip, len, flags));
3910Sstevel@tonic-gate }
3920Sstevel@tonic-gate
3930Sstevel@tonic-gate
3940Sstevel@tonic-gate void
usb_free_bulk_req(usb_bulk_req_t * reqp)3950Sstevel@tonic-gate usb_free_bulk_req(usb_bulk_req_t *reqp)
3960Sstevel@tonic-gate {
3970Sstevel@tonic-gate usba10_usb_free_bulk_req(reqp);
3980Sstevel@tonic-gate }
3990Sstevel@tonic-gate
4000Sstevel@tonic-gate
4010Sstevel@tonic-gate int
usb_pipe_bulk_xfer(usb_pipe_handle_t pipe_handle,usb_bulk_req_t * reqp,usb_flags_t flags)4020Sstevel@tonic-gate usb_pipe_bulk_xfer(
4030Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
4040Sstevel@tonic-gate usb_bulk_req_t *reqp,
4050Sstevel@tonic-gate usb_flags_t flags)
4060Sstevel@tonic-gate {
4070Sstevel@tonic-gate return (usba10_usb_pipe_bulk_xfer(pipe_handle, reqp, flags));
4080Sstevel@tonic-gate }
4090Sstevel@tonic-gate
4100Sstevel@tonic-gate
4110Sstevel@tonic-gate int
usb_pipe_bulk_transfer_size(dev_info_t * dip,size_t * size)4120Sstevel@tonic-gate usb_pipe_bulk_transfer_size(
4130Sstevel@tonic-gate dev_info_t *dip,
4140Sstevel@tonic-gate size_t *size)
4150Sstevel@tonic-gate {
4160Sstevel@tonic-gate return (usba10_usb_pipe_bulk_transfer_size(dip, size));
4170Sstevel@tonic-gate }
4180Sstevel@tonic-gate
4190Sstevel@tonic-gate
4200Sstevel@tonic-gate usb_intr_req_t *
usb_alloc_intr_req(dev_info_t * dip,size_t len,usb_flags_t flags)4210Sstevel@tonic-gate usb_alloc_intr_req(
4220Sstevel@tonic-gate dev_info_t *dip,
4230Sstevel@tonic-gate size_t len,
4240Sstevel@tonic-gate usb_flags_t flags)
4250Sstevel@tonic-gate {
4260Sstevel@tonic-gate return (usba10_usb_alloc_intr_req(dip, len, flags));
4270Sstevel@tonic-gate }
4280Sstevel@tonic-gate
4290Sstevel@tonic-gate
4300Sstevel@tonic-gate void
usb_free_intr_req(usb_intr_req_t * reqp)4310Sstevel@tonic-gate usb_free_intr_req(usb_intr_req_t *reqp)
4320Sstevel@tonic-gate {
4330Sstevel@tonic-gate usba10_usb_free_intr_req(reqp);
4340Sstevel@tonic-gate }
4350Sstevel@tonic-gate
4360Sstevel@tonic-gate
4370Sstevel@tonic-gate int
usb_pipe_intr_xfer(usb_pipe_handle_t pipe_handle,usb_intr_req_t * req,usb_flags_t flags)4380Sstevel@tonic-gate usb_pipe_intr_xfer(
4390Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
4400Sstevel@tonic-gate usb_intr_req_t *req,
4410Sstevel@tonic-gate usb_flags_t flags)
4420Sstevel@tonic-gate {
4430Sstevel@tonic-gate return (usba10_usb_pipe_intr_xfer(pipe_handle, req, flags));
4440Sstevel@tonic-gate }
4450Sstevel@tonic-gate
4460Sstevel@tonic-gate
4470Sstevel@tonic-gate void
usb_pipe_stop_intr_polling(usb_pipe_handle_t pipe_handle,usb_flags_t flags)4480Sstevel@tonic-gate usb_pipe_stop_intr_polling(
4490Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
4500Sstevel@tonic-gate usb_flags_t flags)
4510Sstevel@tonic-gate {
4520Sstevel@tonic-gate usba10_usb_pipe_stop_intr_polling(pipe_handle, flags);
4530Sstevel@tonic-gate }
4540Sstevel@tonic-gate
4550Sstevel@tonic-gate
4560Sstevel@tonic-gate usb_isoc_req_t *
usb_alloc_isoc_req(dev_info_t * dip,uint_t isoc_pkts_count,size_t len,usb_flags_t flags)4570Sstevel@tonic-gate usb_alloc_isoc_req(
4580Sstevel@tonic-gate dev_info_t *dip,
4590Sstevel@tonic-gate uint_t isoc_pkts_count,
4600Sstevel@tonic-gate size_t len,
4610Sstevel@tonic-gate usb_flags_t flags)
4620Sstevel@tonic-gate {
4630Sstevel@tonic-gate return (usba10_usb_alloc_isoc_req(dip, isoc_pkts_count, len, flags));
4640Sstevel@tonic-gate }
4650Sstevel@tonic-gate
4660Sstevel@tonic-gate
4670Sstevel@tonic-gate void
usb_free_isoc_req(usb_isoc_req_t * usb_isoc_req)4680Sstevel@tonic-gate usb_free_isoc_req(usb_isoc_req_t *usb_isoc_req)
4690Sstevel@tonic-gate {
4700Sstevel@tonic-gate usba10_usb_free_isoc_req(usb_isoc_req);
4710Sstevel@tonic-gate }
4720Sstevel@tonic-gate
4730Sstevel@tonic-gate
4740Sstevel@tonic-gate usb_frame_number_t
usb_get_current_frame_number(dev_info_t * dip)4750Sstevel@tonic-gate usb_get_current_frame_number(dev_info_t *dip)
4760Sstevel@tonic-gate {
4770Sstevel@tonic-gate return (usba10_usb_get_current_frame_number(dip));
4780Sstevel@tonic-gate }
4790Sstevel@tonic-gate
4800Sstevel@tonic-gate
4810Sstevel@tonic-gate uint_t
usb_get_max_isoc_pkts(dev_info_t * dip)4820Sstevel@tonic-gate usb_get_max_isoc_pkts(dev_info_t *dip)
4830Sstevel@tonic-gate {
4840Sstevel@tonic-gate return (usba10_usb_get_max_isoc_pkts(dip));
4850Sstevel@tonic-gate }
4860Sstevel@tonic-gate
4870Sstevel@tonic-gate
4880Sstevel@tonic-gate int
usb_pipe_isoc_xfer(usb_pipe_handle_t pipe_handle,usb_isoc_req_t * reqp,usb_flags_t flags)4890Sstevel@tonic-gate usb_pipe_isoc_xfer(
4900Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
4910Sstevel@tonic-gate usb_isoc_req_t *reqp,
4920Sstevel@tonic-gate usb_flags_t flags)
4930Sstevel@tonic-gate {
4940Sstevel@tonic-gate return (usba10_usb_pipe_isoc_xfer(pipe_handle, reqp, flags));
4950Sstevel@tonic-gate }
4960Sstevel@tonic-gate
4970Sstevel@tonic-gate
4980Sstevel@tonic-gate void
usb_pipe_stop_isoc_polling(usb_pipe_handle_t pipe_handle,usb_flags_t flags)4990Sstevel@tonic-gate usb_pipe_stop_isoc_polling(
5000Sstevel@tonic-gate usb_pipe_handle_t pipe_handle,
5010Sstevel@tonic-gate usb_flags_t flags)
5020Sstevel@tonic-gate {
5030Sstevel@tonic-gate usba10_usb_pipe_stop_isoc_polling(pipe_handle, flags);
5040Sstevel@tonic-gate }
5050Sstevel@tonic-gate
5060Sstevel@tonic-gate
5070Sstevel@tonic-gate int
usb_req_raise_power(dev_info_t * dip,int comp,int level,void (* cb)(void * arg,int rval),void * arg,usb_flags_t flags)5080Sstevel@tonic-gate usb_req_raise_power(
5090Sstevel@tonic-gate dev_info_t *dip,
5100Sstevel@tonic-gate int comp,
5110Sstevel@tonic-gate int level,
5120Sstevel@tonic-gate void (*cb)(void *arg, int rval),
5130Sstevel@tonic-gate void *arg,
5140Sstevel@tonic-gate usb_flags_t flags)
5150Sstevel@tonic-gate {
5160Sstevel@tonic-gate return (usba10_usb_req_raise_power(dip, comp, level, cb, arg, flags));
5170Sstevel@tonic-gate }
5180Sstevel@tonic-gate
5190Sstevel@tonic-gate
5200Sstevel@tonic-gate int
usb_req_lower_power(dev_info_t * dip,int comp,int level,void (* cb)(void * arg,int rval),void * arg,usb_flags_t flags)5210Sstevel@tonic-gate usb_req_lower_power(
5220Sstevel@tonic-gate dev_info_t *dip,
5230Sstevel@tonic-gate int comp,
5240Sstevel@tonic-gate int level,
5250Sstevel@tonic-gate void (*cb)(void *arg, int rval),
5260Sstevel@tonic-gate void *arg,
5270Sstevel@tonic-gate usb_flags_t flags)
5280Sstevel@tonic-gate {
5290Sstevel@tonic-gate return (usba10_usb_req_raise_power(dip, comp, level, cb, arg, flags));
5300Sstevel@tonic-gate }
5310Sstevel@tonic-gate
5320Sstevel@tonic-gate
5330Sstevel@tonic-gate int
usb_is_pm_enabled(dev_info_t * dip)5340Sstevel@tonic-gate usb_is_pm_enabled(dev_info_t *dip)
5350Sstevel@tonic-gate {
5360Sstevel@tonic-gate return (usba10_usb_is_pm_enabled(dip));
5370Sstevel@tonic-gate }
5380Sstevel@tonic-gate
5390Sstevel@tonic-gate int
usb_handle_remote_wakeup(dev_info_t * dip,int cmd)5400Sstevel@tonic-gate usb_handle_remote_wakeup(
5410Sstevel@tonic-gate dev_info_t *dip,
5420Sstevel@tonic-gate int cmd)
5430Sstevel@tonic-gate {
5440Sstevel@tonic-gate return (usba10_usb_handle_remote_wakeup(dip, cmd));
5450Sstevel@tonic-gate }
5460Sstevel@tonic-gate
5470Sstevel@tonic-gate
5480Sstevel@tonic-gate int
usb_create_pm_components(dev_info_t * dip,uint_t * pwrstates)5490Sstevel@tonic-gate usb_create_pm_components(
5500Sstevel@tonic-gate dev_info_t *dip,
5510Sstevel@tonic-gate uint_t *pwrstates)
5520Sstevel@tonic-gate {
5530Sstevel@tonic-gate return (usba10_usb_create_pm_components(dip, pwrstates));
5540Sstevel@tonic-gate }
5550Sstevel@tonic-gate
5560Sstevel@tonic-gate
5570Sstevel@tonic-gate int
usb_set_device_pwrlvl0(dev_info_t * dip)5580Sstevel@tonic-gate usb_set_device_pwrlvl0(dev_info_t *dip)
5590Sstevel@tonic-gate {
5600Sstevel@tonic-gate return (usba10_usb_set_device_pwrlvl0(dip));
5610Sstevel@tonic-gate }
5620Sstevel@tonic-gate
5630Sstevel@tonic-gate
5640Sstevel@tonic-gate int
usb_set_device_pwrlvl1(dev_info_t * dip)5650Sstevel@tonic-gate usb_set_device_pwrlvl1(dev_info_t *dip)
5660Sstevel@tonic-gate {
5670Sstevel@tonic-gate return (usba10_usb_set_device_pwrlvl1(dip));
5680Sstevel@tonic-gate }
5690Sstevel@tonic-gate
5700Sstevel@tonic-gate
5710Sstevel@tonic-gate int
usb_set_device_pwrlvl2(dev_info_t * dip)5720Sstevel@tonic-gate usb_set_device_pwrlvl2(dev_info_t *dip)
5730Sstevel@tonic-gate {
5740Sstevel@tonic-gate return (usba10_usb_set_device_pwrlvl2(dip));
5750Sstevel@tonic-gate }
5760Sstevel@tonic-gate
5770Sstevel@tonic-gate
5780Sstevel@tonic-gate int
usb_set_device_pwrlvl3(dev_info_t * dip)5790Sstevel@tonic-gate usb_set_device_pwrlvl3(dev_info_t *dip)
5800Sstevel@tonic-gate {
5810Sstevel@tonic-gate return (usba10_usb_set_device_pwrlvl3(dip));
5820Sstevel@tonic-gate }
5830Sstevel@tonic-gate
5840Sstevel@tonic-gate
5850Sstevel@tonic-gate int
usb_async_req(dev_info_t * dip,void (* func)(void *),void * arg,usb_flags_t flag)5860Sstevel@tonic-gate usb_async_req(
5870Sstevel@tonic-gate dev_info_t *dip,
5880Sstevel@tonic-gate void (*func)(void *),
5890Sstevel@tonic-gate void *arg,
5900Sstevel@tonic-gate usb_flags_t flag)
5910Sstevel@tonic-gate {
5920Sstevel@tonic-gate return (usba10_usb_async_req(dip, func, arg, flag));
5930Sstevel@tonic-gate }
5940Sstevel@tonic-gate
5950Sstevel@tonic-gate
5960Sstevel@tonic-gate int
usb_register_event_cbs(dev_info_t * dip,usb_event_t * usb_evt_data,usb_flags_t flags)5970Sstevel@tonic-gate usb_register_event_cbs(
5980Sstevel@tonic-gate dev_info_t *dip,
5990Sstevel@tonic-gate usb_event_t *usb_evt_data,
6000Sstevel@tonic-gate usb_flags_t flags)
6010Sstevel@tonic-gate {
6020Sstevel@tonic-gate return (usba10_usb_register_event_cbs(dip, usb_evt_data, flags));
6030Sstevel@tonic-gate }
6040Sstevel@tonic-gate
6050Sstevel@tonic-gate
6060Sstevel@tonic-gate void
usb_unregister_event_cbs(dev_info_t * dip,usb_event_t * usb_evt_data)6070Sstevel@tonic-gate usb_unregister_event_cbs(
6080Sstevel@tonic-gate dev_info_t *dip,
6090Sstevel@tonic-gate usb_event_t *usb_evt_data)
6100Sstevel@tonic-gate {
6110Sstevel@tonic-gate usba10_usb_unregister_event_cbs(dip, usb_evt_data);
6120Sstevel@tonic-gate }
6130Sstevel@tonic-gate
6140Sstevel@tonic-gate
6150Sstevel@tonic-gate void
usb_fail_checkpoint(dev_info_t * dip,usb_flags_t flags)6160Sstevel@tonic-gate usb_fail_checkpoint(
6170Sstevel@tonic-gate dev_info_t *dip,
6180Sstevel@tonic-gate usb_flags_t flags)
6190Sstevel@tonic-gate {
6200Sstevel@tonic-gate usba10_usb_fail_checkpoint(dip, flags);
6210Sstevel@tonic-gate }
6220Sstevel@tonic-gate
6230Sstevel@tonic-gate #ifdef DEBUG
6240Sstevel@tonic-gate
usb_dprintf4(uint_t mask,usb_log_handle_t handle,char * fmt,...)6250Sstevel@tonic-gate void usb_dprintf4(
6260Sstevel@tonic-gate uint_t mask,
6270Sstevel@tonic-gate usb_log_handle_t handle,
6280Sstevel@tonic-gate char *fmt, ...)
6290Sstevel@tonic-gate {
6300Sstevel@tonic-gate va_list ap;
6310Sstevel@tonic-gate
6320Sstevel@tonic-gate va_start(ap, fmt);
6330Sstevel@tonic-gate (void) usba10_usba_vlog(handle, USB_LOG_L4, mask, fmt, ap);
6340Sstevel@tonic-gate va_end(ap);
6350Sstevel@tonic-gate }
6360Sstevel@tonic-gate
6370Sstevel@tonic-gate
usb_dprintf3(uint_t mask,usb_log_handle_t handle,char * fmt,...)6380Sstevel@tonic-gate void usb_dprintf3(
6390Sstevel@tonic-gate uint_t mask,
6400Sstevel@tonic-gate usb_log_handle_t handle,
6410Sstevel@tonic-gate char *fmt, ...)
6420Sstevel@tonic-gate {
6430Sstevel@tonic-gate va_list ap;
6440Sstevel@tonic-gate
6450Sstevel@tonic-gate va_start(ap, fmt);
6460Sstevel@tonic-gate (void) usba10_usba_vlog(handle, USB_LOG_L3, mask, fmt, ap);
6470Sstevel@tonic-gate va_end(ap);
6480Sstevel@tonic-gate }
6490Sstevel@tonic-gate
6500Sstevel@tonic-gate
usb_dprintf2(uint_t mask,usb_log_handle_t handle,char * fmt,...)6510Sstevel@tonic-gate void usb_dprintf2(
6520Sstevel@tonic-gate uint_t mask,
6530Sstevel@tonic-gate usb_log_handle_t handle,
6540Sstevel@tonic-gate char *fmt, ...)
6550Sstevel@tonic-gate {
6560Sstevel@tonic-gate va_list ap;
6570Sstevel@tonic-gate
6580Sstevel@tonic-gate va_start(ap, fmt);
6590Sstevel@tonic-gate (void) usba10_usba_vlog(handle, USB_LOG_L2, mask, fmt, ap);
6600Sstevel@tonic-gate va_end(ap);
6610Sstevel@tonic-gate }
6620Sstevel@tonic-gate
6630Sstevel@tonic-gate #endif
6640Sstevel@tonic-gate
usb_dprintf1(uint_t mask,usb_log_handle_t handle,char * fmt,...)6650Sstevel@tonic-gate void usb_dprintf1(
6660Sstevel@tonic-gate uint_t mask,
6670Sstevel@tonic-gate usb_log_handle_t handle,
6680Sstevel@tonic-gate char *fmt, ...)
6690Sstevel@tonic-gate {
6700Sstevel@tonic-gate va_list ap;
6710Sstevel@tonic-gate
6720Sstevel@tonic-gate va_start(ap, fmt);
6730Sstevel@tonic-gate (void) usba10_usba_vlog(handle, USB_LOG_L1, mask, fmt, ap);
6740Sstevel@tonic-gate va_end(ap);
6750Sstevel@tonic-gate }
6760Sstevel@tonic-gate
6770Sstevel@tonic-gate
6780Sstevel@tonic-gate
usb_dprintf0(uint_t mask,usb_log_handle_t handle,char * fmt,...)6790Sstevel@tonic-gate void usb_dprintf0(
6800Sstevel@tonic-gate uint_t mask,
6810Sstevel@tonic-gate usb_log_handle_t handle,
6820Sstevel@tonic-gate char *fmt, ...)
6830Sstevel@tonic-gate {
6840Sstevel@tonic-gate va_list ap;
6850Sstevel@tonic-gate
6860Sstevel@tonic-gate va_start(ap, fmt);
6870Sstevel@tonic-gate (void) usba10_usba_vlog(handle, USB_LOG_L4, mask, fmt, ap);
6880Sstevel@tonic-gate va_end(ap);
6890Sstevel@tonic-gate }
6900Sstevel@tonic-gate
6910Sstevel@tonic-gate usb_log_handle_t
usb_alloc_log_handle(dev_info_t * dip,char * name,uint_t * errlevel,uint_t * mask,uint_t * instance_filter,uint_t show_label,usb_flags_t flags)6920Sstevel@tonic-gate usb_alloc_log_handle(
6930Sstevel@tonic-gate dev_info_t *dip,
6940Sstevel@tonic-gate char *name,
6950Sstevel@tonic-gate uint_t *errlevel,
6960Sstevel@tonic-gate uint_t *mask,
6970Sstevel@tonic-gate uint_t *instance_filter,
6980Sstevel@tonic-gate uint_t show_label,
6990Sstevel@tonic-gate usb_flags_t flags)
7000Sstevel@tonic-gate {
7010Sstevel@tonic-gate return (usba10_usb_alloc_log_handle(
7020Sstevel@tonic-gate dip, name, errlevel, mask, instance_filter, show_label, flags));
7030Sstevel@tonic-gate }
7040Sstevel@tonic-gate
7050Sstevel@tonic-gate
7060Sstevel@tonic-gate void
usb_free_log_handle(usb_log_handle_t handle)7070Sstevel@tonic-gate usb_free_log_handle(usb_log_handle_t handle)
7080Sstevel@tonic-gate {
7090Sstevel@tonic-gate usba10_usb_free_log_handle(handle);
7100Sstevel@tonic-gate }
7110Sstevel@tonic-gate
7120Sstevel@tonic-gate
7130Sstevel@tonic-gate int
usb_log(usb_log_handle_t handle,uint_t level,uint_t mask,char * fmt,...)7140Sstevel@tonic-gate usb_log(
7150Sstevel@tonic-gate usb_log_handle_t handle,
7160Sstevel@tonic-gate uint_t level,
7170Sstevel@tonic-gate uint_t mask,
7180Sstevel@tonic-gate char *fmt, ...)
7190Sstevel@tonic-gate {
7200Sstevel@tonic-gate va_list ap;
7210Sstevel@tonic-gate int rval;
7220Sstevel@tonic-gate
7230Sstevel@tonic-gate va_start(ap, fmt);
7240Sstevel@tonic-gate rval = usba10_usba_vlog(handle, level, mask, fmt, ap);
7250Sstevel@tonic-gate va_end(ap);
7260Sstevel@tonic-gate
7270Sstevel@tonic-gate return (rval);
7280Sstevel@tonic-gate }
7290Sstevel@tonic-gate
7300Sstevel@tonic-gate
7310Sstevel@tonic-gate
7320Sstevel@tonic-gate int
usb_log_descr_tree(usb_client_dev_data_t * dev_data,usb_log_handle_t log_handle,uint_t level,uint_t mask)7330Sstevel@tonic-gate usb_log_descr_tree(
7340Sstevel@tonic-gate usb_client_dev_data_t *dev_data,
7350Sstevel@tonic-gate usb_log_handle_t log_handle,
7360Sstevel@tonic-gate uint_t level,
7370Sstevel@tonic-gate uint_t mask)
7380Sstevel@tonic-gate {
7390Sstevel@tonic-gate return (usba10_usb_log_descr_tree(dev_data, log_handle, level, mask));
7400Sstevel@tonic-gate }
7410Sstevel@tonic-gate
7420Sstevel@tonic-gate
7430Sstevel@tonic-gate int
usb_print_descr_tree(dev_info_t * dip,usb_client_dev_data_t * dev_data)7440Sstevel@tonic-gate usb_print_descr_tree(
7450Sstevel@tonic-gate dev_info_t *dip,
7460Sstevel@tonic-gate usb_client_dev_data_t *dev_data)
7470Sstevel@tonic-gate {
7480Sstevel@tonic-gate return (usba10_usb_print_descr_tree(dip, dev_data));
7490Sstevel@tonic-gate }
7500Sstevel@tonic-gate
7510Sstevel@tonic-gate
7520Sstevel@tonic-gate int
usb_check_same_device(dev_info_t * dip,usb_log_handle_t log_handle,int log_level,int log_mask,uint_t check_mask,char * device_string)7530Sstevel@tonic-gate usb_check_same_device(
7540Sstevel@tonic-gate dev_info_t *dip,
7550Sstevel@tonic-gate usb_log_handle_t log_handle,
7560Sstevel@tonic-gate int log_level,
7570Sstevel@tonic-gate int log_mask,
7580Sstevel@tonic-gate uint_t check_mask,
7590Sstevel@tonic-gate char *device_string)
7600Sstevel@tonic-gate {
7610Sstevel@tonic-gate return (usba10_usb_check_same_device(
7620Sstevel@tonic-gate dip, log_handle, log_level, log_mask, check_mask, device_string));
7630Sstevel@tonic-gate }
7640Sstevel@tonic-gate
7650Sstevel@tonic-gate
7660Sstevel@tonic-gate const char *
usb_str_cr(usb_cr_t cr)7670Sstevel@tonic-gate usb_str_cr(usb_cr_t cr)
7680Sstevel@tonic-gate {
7690Sstevel@tonic-gate return (usba10_usb_str_cr(cr));
7700Sstevel@tonic-gate }
7710Sstevel@tonic-gate
7720Sstevel@tonic-gate
7730Sstevel@tonic-gate char *
usb_str_cb_flags(usb_cb_flags_t cb_flags,char * buffer,size_t length)7740Sstevel@tonic-gate usb_str_cb_flags(
7750Sstevel@tonic-gate usb_cb_flags_t cb_flags,
7760Sstevel@tonic-gate char *buffer,
7770Sstevel@tonic-gate size_t length)
7780Sstevel@tonic-gate {
7790Sstevel@tonic-gate return (usba10_usb_str_cb_flags(cb_flags, buffer, length));
7800Sstevel@tonic-gate }
7810Sstevel@tonic-gate
7820Sstevel@tonic-gate
7830Sstevel@tonic-gate const char *
usb_str_pipe_state(usb_pipe_state_t state)7840Sstevel@tonic-gate usb_str_pipe_state(usb_pipe_state_t state)
7850Sstevel@tonic-gate {
7860Sstevel@tonic-gate return (usba10_usb_str_pipe_state(state));
7870Sstevel@tonic-gate }
7880Sstevel@tonic-gate
7890Sstevel@tonic-gate
7900Sstevel@tonic-gate const char *
usb_str_dev_state(int state)7910Sstevel@tonic-gate usb_str_dev_state(int state)
7920Sstevel@tonic-gate {
7930Sstevel@tonic-gate return (usba10_usb_str_dev_state(state));
7940Sstevel@tonic-gate }
7950Sstevel@tonic-gate
7960Sstevel@tonic-gate
7970Sstevel@tonic-gate const char *
usb_str_rval(int rval)7980Sstevel@tonic-gate usb_str_rval(int rval)
7990Sstevel@tonic-gate {
8000Sstevel@tonic-gate return (usba10_usb_str_rval(rval));
8010Sstevel@tonic-gate }
8020Sstevel@tonic-gate
8030Sstevel@tonic-gate
8040Sstevel@tonic-gate int
usb_rval2errno(int rval)8050Sstevel@tonic-gate usb_rval2errno(int rval)
8060Sstevel@tonic-gate {
8070Sstevel@tonic-gate return (usba10_usb_rval2errno(rval));
8080Sstevel@tonic-gate }
8090Sstevel@tonic-gate
8100Sstevel@tonic-gate
8110Sstevel@tonic-gate usb_serialization_t
usb_init_serialization(dev_info_t * s_dip,uint_t flag)8120Sstevel@tonic-gate usb_init_serialization(
8130Sstevel@tonic-gate dev_info_t *s_dip,
8140Sstevel@tonic-gate uint_t flag)
8150Sstevel@tonic-gate {
8160Sstevel@tonic-gate return (usba10_usb_init_serialization(s_dip, flag));
8170Sstevel@tonic-gate }
8180Sstevel@tonic-gate
8190Sstevel@tonic-gate
8200Sstevel@tonic-gate void
usb_fini_serialization(usb_serialization_t usb_serp)8210Sstevel@tonic-gate usb_fini_serialization(usb_serialization_t usb_serp)
8220Sstevel@tonic-gate {
8230Sstevel@tonic-gate usba10_usb_fini_serialization(usb_serp);
8240Sstevel@tonic-gate }
8250Sstevel@tonic-gate
8260Sstevel@tonic-gate
8270Sstevel@tonic-gate int
usb_serialize_access(usb_serialization_t usb_serp,uint_t how_to_wait,uint_t delta_timeout)8280Sstevel@tonic-gate usb_serialize_access(
8290Sstevel@tonic-gate usb_serialization_t usb_serp,
8300Sstevel@tonic-gate uint_t how_to_wait,
8310Sstevel@tonic-gate uint_t delta_timeout)
8320Sstevel@tonic-gate {
8330Sstevel@tonic-gate return (usba10_usb_serialize_access(
8340Sstevel@tonic-gate usb_serp, how_to_wait, delta_timeout));
8350Sstevel@tonic-gate }
8360Sstevel@tonic-gate
8370Sstevel@tonic-gate
8380Sstevel@tonic-gate int
usb_try_serialize_access(usb_serialization_t usb_serp,uint_t flag)8390Sstevel@tonic-gate usb_try_serialize_access(
8400Sstevel@tonic-gate usb_serialization_t usb_serp,
8410Sstevel@tonic-gate uint_t flag)
8420Sstevel@tonic-gate {
8430Sstevel@tonic-gate return (usba10_usb_try_serialize_access(usb_serp, flag));
8440Sstevel@tonic-gate }
8450Sstevel@tonic-gate
8460Sstevel@tonic-gate
8470Sstevel@tonic-gate void
usb_release_access(usb_serialization_t usb_serp)8480Sstevel@tonic-gate usb_release_access(usb_serialization_t usb_serp)
8490Sstevel@tonic-gate {
8500Sstevel@tonic-gate usba10_usb_release_access(usb_serp);
8510Sstevel@tonic-gate }
8520Sstevel@tonic-gate
8530Sstevel@tonic-gate #endif
854