4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
28 * Dummy module to load usba module on behalf of legacy drivers.
30 * Please see the on81-patch gate include/sys/usba10/usba10_usbai.h
31 * header file for descriptions and comments for these functions.
34 #include <sys/usb/usba.h>
35 #include <sys/usb/usba/usbai_private.h>
36 #include <sys/usb/usba/usba10.h>
42 static struct modlmisc modlmisc
= {
43 &mod_miscops
, /* Type of module */
44 "USBA10: USB V0.8 Drvr Supp"
47 static struct modlinkage modlinkage
= {
48 MODREV_1
, (void *)&modlmisc
, NULL
55 return (mod_install(&modlinkage
));
61 return (mod_remove(&modlinkage
));
65 _info(struct modinfo
*modinfop
)
67 return (mod_info(&modlinkage
, modinfop
));
71 * Turn off lint checking of this module because it will find duplicate names
72 * defined here and in the usbai.c source for the usba module.
79 usb_client_dev_data_t
**dev_data
,
80 usb_reg_parse_lvl_t parse_level
,
83 return (usba10_usb_register_client(
84 dip
, version
, dev_data
, parse_level
, flags
));
89 usb_unregister_client(
91 usb_client_dev_data_t
*dev_data
)
93 usba10_usb_unregister_client(dip
, dev_data
);
100 usb_client_dev_data_t
*dev_data
)
102 usba10_usb_free_descr_tree(dip
, dev_data
);
114 return (usba10_usb_parse_data(
115 format
, data
, datalen
, structure
, structlen
));
122 usb_client_dev_data_t
*dev_datap
,
128 return (usba10_usb_get_ep_data(
129 dip
, dev_datap
, interface
, alternate
, type
, direction
));
134 usb_get_string_descr(
141 return (usba10_usb_get_string_descr(dip
, langid
, index
, buf
, buflen
));
146 usb_get_addr(dev_info_t
*dip
)
148 return (usba10_usb_get_addr(dip
));
153 usb_get_if_number(dev_info_t
*dip
)
155 return (usba10_usb_get_if_number(dip
));
160 usb_owns_device(dev_info_t
*dip
)
162 return (usba10_usb_owns_device(dip
));
168 usb_pipe_handle_t pipe_handle
,
169 usb_pipe_state_t
*pipe_state
,
172 return (usba10_usb_pipe_get_state(pipe_handle
, pipe_state
, flags
));
177 usb_ep_num(usb_pipe_handle_t ph
)
179 return (usba10_usb_ep_num(ph
));
187 usb_pipe_policy_t
*pipe_policy
,
189 usb_pipe_handle_t
*pipe_handle
)
191 return (usba10_usb_pipe_open(dip
, ep
, pipe_policy
, flags
, pipe_handle
));
198 usb_pipe_handle_t pipe_handle
,
201 usb_pipe_handle_t ph
,
202 usb_opaque_t arg
, /* cb arg */
204 usb_cb_flags_t flags
),
207 usba10_usb_pipe_close(dip
, pipe_handle
, flags
, cb
, cb_arg
);
214 usb_pipe_handle_t pipe_handle
,
218 usb_pipe_handle_t ph
,
219 usb_opaque_t arg
, /* cb arg */
221 usb_cb_flags_t flags
),
224 return (usba10_usb_pipe_drain_reqs(
225 dip
, pipe_handle
, time
, flags
, cb
, cb_arg
));
230 usb_pipe_set_private(
231 usb_pipe_handle_t pipe_handle
,
234 return (usba10_usb_pipe_set_private(pipe_handle
, data
));
239 usb_pipe_get_private(usb_pipe_handle_t pipe_handle
)
241 return (usba10_usb_pipe_get_private(pipe_handle
));
248 usb_pipe_handle_t pipe_handle
,
249 usb_flags_t usb_flags
,
251 usb_pipe_handle_t ph
,
254 usb_cb_flags_t flags
),
257 usba10_usb_pipe_reset(dip
, pipe_handle
, usb_flags
, cb
, cb_arg
);
267 return (usba10_usb_alloc_ctrl_req(dip
, len
, flags
));
272 usb_free_ctrl_req(usb_ctrl_req_t
*reqp
)
274 usba10_usb_free_ctrl_req(reqp
);
280 usb_pipe_handle_t pipe_handle
,
281 usb_ctrl_req_t
*reqp
,
284 return (usba10_usb_pipe_ctrl_xfer(pipe_handle
, reqp
, flags
));
291 usb_pipe_handle_t ph
,
292 uint_t type
, /* bmRequestType */
293 uint_t what
, /* 0, interface, endpoint number */
297 return (usba10_usb_get_status(dip
, ph
, type
, what
, status
, flags
));
304 usb_pipe_handle_t ph
,
305 uint_t type
, /* bmRequestType */
307 uint_t what
, /* 0, interface, endpoint number */
310 return (usba10_usb_clear_feature(dip
, ph
, type
, feature
, what
, flags
));
315 usb_pipe_ctrl_xfer_wait(
316 usb_pipe_handle_t pipe_handle
,
317 usb_ctrl_setup_t
*setup
,
319 usb_cr_t
*completion_reason
,
320 usb_cb_flags_t
*cb_flags
,
323 return (usba10_usb_pipe_ctrl_xfer_wait(
324 pipe_handle
, setup
, data
, completion_reason
, cb_flags
, flags
));
332 usb_flags_t usb_flags
,
334 usb_pipe_handle_t ph
,
337 usb_cb_flags_t flags
),
340 return (usba10_usb_set_cfg(dip
, cfg_index
, usb_flags
, cb
, cb_arg
));
348 usb_flags_t usb_flags
)
350 return (usba10_usb_get_cfg(dip
, cfgval
, usb_flags
));
359 usb_flags_t usb_flags
,
361 usb_pipe_handle_t ph
,
364 usb_cb_flags_t flags
),
367 return (usba10_usb_set_alt_if(
368 dip
, interface
, alt_number
, usb_flags
, cb
, cb_arg
));
379 return (usba10_usb_get_alt_if(dip
, if_number
, alt_number
, flags
));
389 return (usba10_usb_alloc_bulk_req(dip
, len
, flags
));
394 usb_free_bulk_req(usb_bulk_req_t
*reqp
)
396 usba10_usb_free_bulk_req(reqp
);
402 usb_pipe_handle_t pipe_handle
,
403 usb_bulk_req_t
*reqp
,
406 return (usba10_usb_pipe_bulk_xfer(pipe_handle
, reqp
, flags
));
411 usb_pipe_bulk_transfer_size(
415 return (usba10_usb_pipe_bulk_transfer_size(dip
, size
));
425 return (usba10_usb_alloc_intr_req(dip
, len
, flags
));
430 usb_free_intr_req(usb_intr_req_t
*reqp
)
432 usba10_usb_free_intr_req(reqp
);
438 usb_pipe_handle_t pipe_handle
,
442 return (usba10_usb_pipe_intr_xfer(pipe_handle
, req
, flags
));
447 usb_pipe_stop_intr_polling(
448 usb_pipe_handle_t pipe_handle
,
451 usba10_usb_pipe_stop_intr_polling(pipe_handle
, flags
);
458 uint_t isoc_pkts_count
,
462 return (usba10_usb_alloc_isoc_req(dip
, isoc_pkts_count
, len
, flags
));
467 usb_free_isoc_req(usb_isoc_req_t
*usb_isoc_req
)
469 usba10_usb_free_isoc_req(usb_isoc_req
);
474 usb_get_current_frame_number(dev_info_t
*dip
)
476 return (usba10_usb_get_current_frame_number(dip
));
481 usb_get_max_isoc_pkts(dev_info_t
*dip
)
483 return (usba10_usb_get_max_isoc_pkts(dip
));
489 usb_pipe_handle_t pipe_handle
,
490 usb_isoc_req_t
*reqp
,
493 return (usba10_usb_pipe_isoc_xfer(pipe_handle
, reqp
, flags
));
498 usb_pipe_stop_isoc_polling(
499 usb_pipe_handle_t pipe_handle
,
502 usba10_usb_pipe_stop_isoc_polling(pipe_handle
, flags
);
511 void (*cb
)(void *arg
, int rval
),
515 return (usba10_usb_req_raise_power(dip
, comp
, level
, cb
, arg
, flags
));
524 void (*cb
)(void *arg
, int rval
),
528 return (usba10_usb_req_raise_power(dip
, comp
, level
, cb
, arg
, flags
));
533 usb_is_pm_enabled(dev_info_t
*dip
)
535 return (usba10_usb_is_pm_enabled(dip
));
539 usb_handle_remote_wakeup(
543 return (usba10_usb_handle_remote_wakeup(dip
, cmd
));
548 usb_create_pm_components(
552 return (usba10_usb_create_pm_components(dip
, pwrstates
));
557 usb_set_device_pwrlvl0(dev_info_t
*dip
)
559 return (usba10_usb_set_device_pwrlvl0(dip
));
564 usb_set_device_pwrlvl1(dev_info_t
*dip
)
566 return (usba10_usb_set_device_pwrlvl1(dip
));
571 usb_set_device_pwrlvl2(dev_info_t
*dip
)
573 return (usba10_usb_set_device_pwrlvl2(dip
));
578 usb_set_device_pwrlvl3(dev_info_t
*dip
)
580 return (usba10_usb_set_device_pwrlvl3(dip
));
587 void (*func
)(void *),
591 return (usba10_usb_async_req(dip
, func
, arg
, flag
));
596 usb_register_event_cbs(
598 usb_event_t
*usb_evt_data
,
601 return (usba10_usb_register_event_cbs(dip
, usb_evt_data
, flags
));
606 usb_unregister_event_cbs(
608 usb_event_t
*usb_evt_data
)
610 usba10_usb_unregister_event_cbs(dip
, usb_evt_data
);
619 usba10_usb_fail_checkpoint(dip
, flags
);
626 usb_log_handle_t handle
,
632 (void) usba10_usba_vlog(handle
, USB_LOG_L4
, mask
, fmt
, ap
);
639 usb_log_handle_t handle
,
645 (void) usba10_usba_vlog(handle
, USB_LOG_L3
, mask
, fmt
, ap
);
652 usb_log_handle_t handle
,
658 (void) usba10_usba_vlog(handle
, USB_LOG_L2
, mask
, fmt
, ap
);
666 usb_log_handle_t handle
,
672 (void) usba10_usba_vlog(handle
, USB_LOG_L1
, mask
, fmt
, ap
);
680 usb_log_handle_t handle
,
686 (void) usba10_usba_vlog(handle
, USB_LOG_L4
, mask
, fmt
, ap
);
691 usb_alloc_log_handle(
696 uint_t
*instance_filter
,
700 return (usba10_usb_alloc_log_handle(
701 dip
, name
, errlevel
, mask
, instance_filter
, show_label
, flags
));
706 usb_free_log_handle(usb_log_handle_t handle
)
708 usba10_usb_free_log_handle(handle
);
714 usb_log_handle_t handle
,
723 rval
= usba10_usba_vlog(handle
, level
, mask
, fmt
, ap
);
733 usb_client_dev_data_t
*dev_data
,
734 usb_log_handle_t log_handle
,
738 return (usba10_usb_log_descr_tree(dev_data
, log_handle
, level
, mask
));
743 usb_print_descr_tree(
745 usb_client_dev_data_t
*dev_data
)
747 return (usba10_usb_print_descr_tree(dip
, dev_data
));
752 usb_check_same_device(
754 usb_log_handle_t log_handle
,
760 return (usba10_usb_check_same_device(
761 dip
, log_handle
, log_level
, log_mask
, check_mask
, device_string
));
766 usb_str_cr(usb_cr_t cr
)
768 return (usba10_usb_str_cr(cr
));
774 usb_cb_flags_t cb_flags
,
778 return (usba10_usb_str_cb_flags(cb_flags
, buffer
, length
));
783 usb_str_pipe_state(usb_pipe_state_t state
)
785 return (usba10_usb_str_pipe_state(state
));
790 usb_str_dev_state(int state
)
792 return (usba10_usb_str_dev_state(state
));
797 usb_str_rval(int rval
)
799 return (usba10_usb_str_rval(rval
));
804 usb_rval2errno(int rval
)
806 return (usba10_usb_rval2errno(rval
));
811 usb_init_serialization(
815 return (usba10_usb_init_serialization(s_dip
, flag
));
820 usb_fini_serialization(usb_serialization_t usb_serp
)
822 usba10_usb_fini_serialization(usb_serp
);
827 usb_serialize_access(
828 usb_serialization_t usb_serp
,
830 uint_t delta_timeout
)
832 return (usba10_usb_serialize_access(
833 usb_serp
, how_to_wait
, delta_timeout
));
838 usb_try_serialize_access(
839 usb_serialization_t usb_serp
,
842 return (usba10_usb_try_serialize_access(usb_serp
, flag
));
847 usb_release_access(usb_serialization_t usb_serp
)
849 usba10_usb_release_access(usb_serp
);