Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jun 2009 15:03:37 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 165166 for review
Message-ID:  <200906251503.n5PF3bHh008384@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=165166

Change 165166 by jhb@jhb_jhbbsd on 2009/06/25 15:02:49

	IFC @165164

Affected files ...

.. //depot/projects/smpng/share/man/man9/Makefile#6 integrate
.. //depot/projects/smpng/share/man/man9/usbdi.9#2 integrate
.. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#42 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap.c#51 integrate
.. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#30 integrate
.. //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#6 integrate
.. //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#6 integrate
.. //depot/projects/smpng/sys/arm/mv/mvwin.h#2 integrate
.. //depot/projects/smpng/sys/arm/mv/orion/orion.c#6 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#60 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#57 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#57 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#57 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#58 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#61 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_ipc.c#32 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_ipc.c#20 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acard.c#4 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-amd.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ati.c#3 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cypress.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-intel.c#6 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ite.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-jmicron.c#5 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-marvell.c#6 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-micron.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-national.c#2 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-netcell.c#3 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-nvidia.c#6 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-promise.c#8 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-siliconimage.c#7 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-sis.c#6 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-via.c#5 integrate
.. //depot/projects/smpng/sys/dev/cas/if_cas.c#2 integrate
.. //depot/projects/smpng/sys/dev/cas/if_casvar.h#2 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#24 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_irq.c#12 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_82540.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_82541.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_82571.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_82575.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_82575.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_api.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_defines.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_hw.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_ich8lan.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_mac.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_osdep.c#3 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_phy.c#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_phy.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/e1000_regs.h#4 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_em.c#9 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_em.h#5 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_igb.c#9 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_igb.h#4 integrate
.. //depot/projects/smpng/sys/dev/fdc/fdc.c#33 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gem.c#39 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#18 integrate
.. //depot/projects/smpng/sys/dev/hptmv/atapi.h#4 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.h#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82598.c#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_82599.c#2 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.c#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_api.h#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_common.c#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_osdep.h#5 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.c#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_phy.h#6 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe_type.h#6 integrate
.. //depot/projects/smpng/sys/dev/mfi/mfi.c#27 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#29 integrate
.. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#31 integrate
.. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#18 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#35 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#10 integrate
.. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#7 integrate
.. //depot/projects/smpng/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#4 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#5 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/xfs_rw.h#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/xfs/xfs_vnodeops.c#5 integrate
.. //depot/projects/smpng/sys/i386/i386/local_apic.c#64 integrate
.. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_ipc.c#14 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#94 integrate
.. //depot/projects/smpng/sys/kern/kern_descrip.c#128 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#74 integrate
.. //depot/projects/smpng/sys/kern/kern_switch.c#74 integrate
.. //depot/projects/smpng/sys/kern/subr_pcpu.c#14 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#93 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#99 integrate
.. //depot/projects/smpng/sys/kern/systrace_args.c#19 integrate
.. //depot/projects/smpng/sys/kern/sysv_ipc.c#19 integrate
.. //depot/projects/smpng/sys/kern/sysv_msg.c#41 integrate
.. //depot/projects/smpng/sys/kern/sysv_sem.c#54 integrate
.. //depot/projects/smpng/sys/kern/sysv_shm.c#46 integrate
.. //depot/projects/smpng/sys/modules/igb/Makefile#5 integrate
.. //depot/projects/smpng/sys/modules/ixgbe/Makefile#5 integrate
.. //depot/projects/smpng/sys/net/if_epair.c#1 branch
.. //depot/projects/smpng/sys/net/if_media.h#26 integrate
.. //depot/projects/smpng/sys/net/if_spppsubr.c#42 integrate
.. //depot/projects/smpng/sys/net/if_stf.c#49 integrate
.. //depot/projects/smpng/sys/netatalk/aarp.c#27 integrate
.. //depot/projects/smpng/sys/netatalk/at_control.c#18 integrate
.. //depot/projects/smpng/sys/netatalk/at_var.h#8 integrate
.. //depot/projects/smpng/sys/netatalk/ddp_input.c#21 integrate
.. //depot/projects/smpng/sys/netatalk/ddp_output.c#17 integrate
.. //depot/projects/smpng/sys/netatalk/ddp_pcb.c#14 integrate
.. //depot/projects/smpng/sys/netatalk/ddp_usrreq.c#34 integrate
.. //depot/projects/smpng/sys/netinet/if_ether.c#73 integrate
.. //depot/projects/smpng/sys/netinet/in.c#57 integrate
.. //depot/projects/smpng/sys/netinet/in_gif.c#29 integrate
.. //depot/projects/smpng/sys/netinet/in_mcast.c#15 integrate
.. //depot/projects/smpng/sys/netinet/in_pcb.c#99 integrate
.. //depot/projects/smpng/sys/netinet/in_var.h#28 integrate
.. //depot/projects/smpng/sys/netinet/ip_carp.c#35 integrate
.. //depot/projects/smpng/sys/netinet/ip_dummynet.h#27 integrate
.. //depot/projects/smpng/sys/netinet/ip_icmp.c#52 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#104 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_dummynet.c#4 integrate
.. //depot/projects/smpng/sys/netinet/raw_ip.c#84 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#59 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#38 integrate
.. //depot/projects/smpng/sys/netinet6/in6_pcb.c#65 integrate
.. //depot/projects/smpng/sys/netinet6/in6_src.c#42 integrate
.. //depot/projects/smpng/sys/netinet6/in6_var.h#23 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_input.c#66 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#56 integrate
.. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#34 integrate
.. //depot/projects/smpng/sys/netinet6/vinet6.h#9 integrate
.. //depot/projects/smpng/sys/netipsec/key.c#39 integrate
.. //depot/projects/smpng/sys/netipx/ipx.c#17 integrate
.. //depot/projects/smpng/sys/netipx/ipx_if.h#10 integrate
.. //depot/projects/smpng/sys/netipx/ipx_input.c#24 integrate
.. //depot/projects/smpng/sys/netipx/ipx_outputfl.c#11 integrate
.. //depot/projects/smpng/sys/netipx/ipx_pcb.c#24 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#90 integrate
.. //depot/projects/smpng/sys/powerpc/conf/MPC85XX#10 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#14 integrate
.. //depot/projects/smpng/sys/rpc/clnt_rc.c#7 integrate
.. //depot/projects/smpng/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#96 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#79 integrate
.. //depot/projects/smpng/sys/sys/acl.h#15 integrate
.. //depot/projects/smpng/sys/sys/ata.h#31 integrate
.. //depot/projects/smpng/sys/sys/ipc.h#12 integrate
.. //depot/projects/smpng/sys/sys/msg.h#8 integrate
.. //depot/projects/smpng/sys/sys/param.h#150 integrate
.. //depot/projects/smpng/sys/sys/priv.h#22 integrate
.. //depot/projects/smpng/sys/sys/sched.h#33 integrate
.. //depot/projects/smpng/sys/sys/sem.h#11 integrate
.. //depot/projects/smpng/sys/sys/shm.h#13 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#92 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#92 integrate
.. //depot/projects/smpng/sys/sys/sysctl.h#61 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#96 integrate
.. //depot/projects/smpng/sys/sys/unistd.h#18 integrate

Differences ...

==== //depot/projects/smpng/share/man/man9/Makefile#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.355 2009/06/09 23:38:19 imp Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.356 2009/06/24 17:01:17 thompsa Exp $
 
 MAN=	accept_filter.9 \
 	accf_data.9 \
@@ -1210,55 +1210,58 @@
 	uidinfo.9 uihashinit.9 \
 	uidinfo.9 uihold.9
 MLINKS+=uio.9 uiomove.9
-MLINKS+=usbdi.9 usbd_abort_default_pipe.9 \
-	usbdi.9 usbd_abort_pipe.9 \
-	usbdi.9 usbd_alloc_buffer.9 \
-	usbdi.9 usbd_alloc_xfer.9 \
-	usbdi.9 usbd_clear_endpoint_stall.9 \
-	usbdi.9 usbd_clear_endpoint_stall_async.9 \
-	usbdi.9 usbd_clear_endpoint_toggle.9 \
-	usbdi.9 usbd_close_pipe.9 \
-	usbdi.9 usbd_device2interface_handle.9 \
+MLINKS+=usbdi.9 usb_fifo_alloc_buffer.9 \
+	usbdi.9 usb_fifo_attach.9 \
+	usbdi.9 usb_fifo_detach.9 \
+	usbdi.9 usb_fifo_free_buffer.9 \
+	usbdi.9 usb_fifo_get_data.9 \
+	usbdi.9 usb_fifo_get_data_buffer.9 \
+	usbdi.9 usb_fifo_get_data_error.9 \
+	usbdi.9 usb_fifo_get_data_linear.9 \
+	usbdi.9 usb_fifo_put_bytes_max.9 \
+	usbdi.9 usb_fifo_put_data.9 \
+	usbdi.9 usb_fifo_put_data_buffer.9 \
+	usbdi.9 usb_fifo_put_data_error.9 \
+	usbdi.9 usb_fifo_put_data_linear.9 \
+	usbdi.9 usb_fifo_reset.9 \
+	usbdi.9 usb_fifo_softc.9 \
+	usbdi.9 usb_fifo_wakeup.9 \
 	usbdi.9 usbd_do_request.9 \
-	usbdi.9 usbd_do_request_async.9 \
 	usbdi.9 usbd_do_request_flags.9 \
-	usbdi.9 usbd_do_request_flags_pipe.9 \
-	usbdi.9 usbd_endpoint_count.9 \
 	usbdi.9 usbd_errstr.9 \
-	usbdi.9 usbd_find_edesc.9 \
-	usbdi.9 usbd_find_idesc.9 \
-	usbdi.9 usbd_free_buffer.9 \
-	usbdi.9 usbd_free_xfer.9 \
-	usbdi.9 usbd_get_buffer.9 \
-	usbdi.9 usbd_get_config.9 \
-	usbdi.9 usbd_get_config_desc.9 \
-	usbdi.9 usbd_get_config_desc_full.9 \
-	usbdi.9 usbd_get_config_descriptor.9 \
-	usbdi.9 usbd_get_device_descriptor.9 \
-	usbdi.9 usbd_get_endpoint_descriptor.9 \
-	usbdi.9 usbd_get_interface_altindex.9 \
-	usbdi.9 usbd_get_interface_descriptor.9 \
-	usbdi.9 usbd_get_no_alts.9 \
-	usbdi.9 usbd_get_quirks.9 \
-	usbdi.9 usbd_get_speed.9 \
-	usbdi.9 usbd_get_string.9 \
-	usbdi.9 usbd_get_string_desc.9 \
-	usbdi.9 usbd_get_xfer_status.9 \
-	usbdi.9 usbd_interface2device_handle.9 \
-	usbdi.9 usbd_interface2endpoint_descriptor.9 \
-	usbdi.9 usbd_interface_count.9 \
-	usbdi.9 usbd_open_pipe.9 \
-	usbdi.9 usbd_open_pipe_intr.9 \
-	usbdi.9 usbd_pipe2device_handle.9 \
-	usbdi.9 usbd_set_config_index.9 \
-	usbdi.9 usbd_set_config_no.9 \
-	usbdi.9 usbd_set_interface.9 \
-	usbdi.9 usbd_setup_default_xfer.9 \
-	usbdi.9 usbd_setup_isoc_xfer.9 \
-	usbdi.9 usbd_setup_xfer.9 \
-	usbdi.9 usbd_sync_transfer.9 \
-	usbdi.9 usbd_transfer.9 \
-	usbdi.9 usb_find_desc.9
+	usbdi.9 usbd_lookup_id_by_info.9 \
+	usbdi.9 usbd_lookup_id_by_uaa.9 \
+	usbdi.9 usbd_transfer_clear_stall.9 \
+	usbdi.9 usbd_transfer_drain.9 \
+	usbdi.9 usbd_transfer_pending.9 \
+	usbdi.9 usbd_transfer_poll.9 \
+	usbdi.9 usbd_transfer_setup.9 \
+	usbdi.9 usbd_transfer_start.9 \
+	usbdi.9 usbd_transfer_stop.9 \
+	usbdi.9 usbd_transfer_submit.9 \
+	usbdi.9 usbd_transfer_unsetup.9 \
+	usbdi.9 usbd_xfer_clr_flag.9 \
+	usbdi.9 usbd_xfer_frame_data.9 \
+	usbdi.9 usbd_xfer_frame_len.9 \
+	usbdi.9 usbd_xfer_get_frame.9 \
+	usbdi.9 usbd_xfer_get_priv.9 \
+	usbdi.9 usbd_xfer_is_stalled.9 \
+	usbdi.9 usbd_xfer_max_framelen.9 \
+	usbdi.9 usbd_xfer_max_frames.9 \
+	usbdi.9 usbd_xfer_max_len.9 \
+	usbdi.9 usbd_xfer_set_flag.9 \
+	usbdi.9 usbd_xfer_set_frame_data.9 \
+	usbdi.9 usbd_xfer_set_frame_len.9 \
+	usbdi.9 usbd_xfer_set_frame_offset.9 \
+	usbdi.9 usbd_xfer_set_frames.9 \
+	usbdi.9 usbd_xfer_set_interval.9 \
+	usbdi.9 usbd_xfer_set_priv.9 \
+	usbdi.9 usbd_xfer_set_stall.9 \
+	usbdi.9 usbd_xfer_set_timeout.9 \
+	usbdi.9 usbd_xfer_softc.9 \
+	usbdi.9 usbd_xfer_state.9 \
+	usbdi.9 usbd_xfer_state.9 \
+	usbdi.9 usbd_xfer_status.9
 MLINKS+=vcount.9 count_dev.9
 MLINKS+=vfsconf.9 vfs_modevent.9 \
 	vfsconf.9 vfs_register.9 \

==== //depot/projects/smpng/share/man/man9/usbdi.9#2 (text+ko) ====

@@ -23,1231 +23,616 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$FreeBSD: src/share/man/man9/usbdi.9,v 1.2 2006/12/14 14:33:13 mpp Exp $
-.Dd December 30, 2005
+.\"	$FreeBSD: src/share/man/man9/usbdi.9,v 1.3 2009/06/24 17:01:17 thompsa Exp $
+.Dd June 24, 2009
 .Os
 .Dt USBDI 9
 .Sh NAME
-.Nm usb_detach_wait ,
-.Nm usb_detach_wakeup ,
-.Nm usb_find_desc ,
-.Nm usbd_abort_default_pipe ,
-.Nm usbd_abort_pipe ,
-.Nm usbd_alloc_buffer ,
-.Nm usbd_alloc_xfer ,
-.Nm usbd_bulk_transfer ,
-.Nm usbd_clear_endpoint_stall ,
-.Nm usbd_clear_endpoint_stall_async ,
-.Nm usbd_clear_endpoint_toggle ,
-.Nm usbd_close_pipe ,
-.Nm usbd_device2interface_handle ,
-.Nm usbd_devinfo ,
+.Nm usb_fifo_alloc_buffer ,
+.Nm usb_fifo_attach ,
+.Nm usb_fifo_detach ,
+.Nm usb_fifo_free_buffer ,
+.Nm usb_fifo_get_data ,
+.Nm usb_fifo_get_data_buffer ,
+.Nm usb_fifo_get_data_error ,
+.Nm usb_fifo_get_data_linear ,
+.Nm usb_fifo_put_bytes_max ,
+.Nm usb_fifo_put_data ,
+.Nm usb_fifo_put_data_buffer ,
+.Nm usb_fifo_put_data_error ,
+.Nm usb_fifo_put_data_linear ,
+.Nm usb_fifo_reset ,
+.Nm usb_fifo_softc ,
+.Nm usb_fifo_wakeup ,
 .Nm usbd_do_request ,
-.Nm usbd_do_request_async ,
 .Nm usbd_do_request_flags ,
-.Nm usbd_do_request_flags_pipe ,
-.Nm usbd_dopoll ,
-.Nm usbd_endpoint_count ,
 .Nm usbd_errstr ,
-.Nm usbd_fill_deviceinfo ,
-.Nm usbd_find_edesc ,
-.Nm usbd_find_idesc ,
-.Nm usbd_free_buffer ,
-.Nm usbd_free_xfer ,
-.Nm usbd_get_buffer ,
-.Nm usbd_get_config ,
-.Nm usbd_get_config_desc ,
-.Nm usbd_get_config_desc_full ,
-.Nm usbd_get_config_descriptor ,
-.Nm usbd_get_device_descriptor ,
-.Nm usbd_get_endpoint_descriptor ,
-.Nm usbd_get_interface_altindex ,
-.Nm usbd_get_interface_descriptor ,
-.Nm usbd_get_no_alts ,
-.Nm usbd_get_quirks ,
-.Nm usbd_get_speed ,
-.Nm usbd_get_string ,
-.Nm usbd_get_string_desc ,
-.Nm usbd_get_xfer_status ,
-.Nm usbd_interface2device_handle ,
-.Nm usbd_interface2endpoint_descriptor ,
-.Nm usbd_interface_count ,
-.Nm usbd_intr_transfer ,
-.Nm usbd_open_pipe ,
-.Nm usbd_open_pipe_intr ,
-.Nm usbd_pipe2device_handle ,
-.Nm usbd_ratecheck ,
-.Nm usbd_set_config_index ,
-.Nm usbd_set_config_no ,
-.Nm usbd_set_interface ,
-.Nm usbd_set_polling ,
-.Nm usbd_setup_default_xfer ,
-.Nm usbd_setup_isoc_xfer ,
-.Nm usbd_setup_xfer ,
-.Nm usbd_sync_transfer ,
-.Nm usbd_transfer
+.Nm usbd_lookup_id_by_info ,
+.Nm usbd_lookup_id_by_uaa ,
+.Nm usbd_transfer_clear_stall ,
+.Nm usbd_transfer_drain ,
+.Nm usbd_transfer_pending ,
+.Nm usbd_transfer_poll ,
+.Nm usbd_transfer_setup ,
+.Nm usbd_transfer_start ,
+.Nm usbd_transfer_stop ,
+.Nm usbd_transfer_submit ,
+.Nm usbd_transfer_unsetup ,
+.Nm usbd_xfer_clr_flag ,
+.Nm usbd_xfer_frame_data ,
+.Nm usbd_xfer_frame_len ,
+.Nm usbd_xfer_get_frame ,
+.Nm usbd_xfer_get_priv ,
+.Nm usbd_xfer_is_stalled ,
+.Nm usbd_xfer_max_framelen ,
+.Nm usbd_xfer_max_frames ,
+.Nm usbd_xfer_max_len ,
+.Nm usbd_xfer_set_flag ,
+.Nm usbd_xfer_set_frame_data ,
+.Nm usbd_xfer_set_frame_len ,
+.Nm usbd_xfer_set_frame_offset ,
+.Nm usbd_xfer_set_frames ,
+.Nm usbd_xfer_set_interval ,
+.Nm usbd_xfer_set_priv ,
+.Nm usbd_xfer_set_stall ,
+.Nm usbd_xfer_set_timeout ,
+.Nm usbd_xfer_softc ,
+.Nm usbd_xfer_state ,
+.Nm usbd_xfer_state ,
+.Nm usbd_xfer_status
 .Nd Universal Serial Bus driver programming interface
 .Sh SYNOPSIS
 .In dev/usb/usb.h
 .In dev/usb/usbdi.h
 .In dev/usb/usbdi_util.h
-.Pp
-.Ft void
-.Fn usb_detach_wait "device_ptr_t dv"
-.Ft void
-.Fn usb_detach_wakeup "device_ptr_t dv"
-.Ft "const usb_descriptor_t *"
-.Fn usb_find_desc "usbd_device_handle dev" "int type" "int subtype"
-.Ft usbd_status
-.Fn usbd_abort_default_pipe "usbd_device_handle dev"
-.Ft usbd_status
-.Fn usbd_abort_pipe "usbd_pipe_handle pipe"
-.Ft "void *"
-.Fn usbd_alloc_buffer "usbd_xfer_handle xfer" "u_int32_t size"
-.Ft usbd_xfer_handle
-.Fn usbd_alloc_xfer "usbd_device_handle dev"
-.Ft usbd_status
-.Fo usbd_bulk_transfer
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_pipe_handle pipe"
-.Fa "u_int16_t flags"
-.Fa "u_int32_t timeout"
-.Fa "void *buf"
-.Fa "u_int32_t *size"
-.Fa "char *lbl"
-.Fc
-.Ft usbd_status
-.Fn usbd_clear_endpoint_stall "usbd_pipe_handle pipe"
-.Ft usbd_status
-.Fn usbd_clear_endpoint_stall_async "usbd_pipe_handle"
-.Ft void
-.Fn usbd_clear_endpoint_toggle "usbd_pipe_handle pipe"
-.Ft usbd_status
-.Fn usbd_close_pipe "usbd_pipe_handle pipe"
-.Ft usbd_status
-.Fo usbd_device2interface_handle
-.Fa "usbd_device_handle dev"
-.Fa "u_int8_t ifaceno"
-.Fa "usbd_interface_handle *iface"
-.Fc
-.Ft void
-.Fn usbd_devinfo "usbd_device_handle dev" "int showclass" "char *cp"
-.Ft usbd_status
-.Fo usbd_do_request
-.Fa "usbd_device_handle dev"
-.Fa "usb_device_request_t *req"
-.Fa "void *data"
-.Fc
-.Ft usbd_status
-.Fo usbd_do_request_async
-.Fa "usbd_device_handle dev"
-.Fa "usb_device_request_t *req"
-.Fa "void *data"
-.Fc
-.Ft usbd_status
-.Fo usbd_do_request_flags
-.Fa "usbd_device_handle dev"
-.Fa "usb_device_request_t *req"
-.Fa "void *data"
-.Fa "u_int16_t flags"
-.Fa "int *actlen"
-.Fa "u_int32_t timo"
-.Fc
-.Ft usbd_status
-.Fo usbd_do_request_flags_pipe
-.Fa "usbd_device_handle dev"
-.Fa "usbd_pipe_handle pipe"
-.Fa "usb_device_request_t *req"
-.Fa "void *data"
-.Fa "u_int16_t flags"
-.Fa "int *actlen"
-.Fa "u_int32_t timeout"
-.Fc
-.Ft void
-.Fn usbd_dopoll "usbd_interface_handle iface"
-.Ft usbd_status
-.Fn usbd_endpoint_count "usbd_interface_handle iface" "u_int8_t *count"
-.Ft "const char *"
-.Fn usbd_errstr "usbd_status err"
-.Ft void
-.Fo usbd_fill_deviceinfo
-.Fa "usbd_device_handle dev"
-.Fa "struct usb_device_info *di"
-.Fa "int usedev"
-.Fc
-.Ft "usb_endpoint_descriptor_t *"
-.Fo usbd_find_edesc
-.Fa "usb_config_descriptor_t *cd"
-.Fa "int ifaceidx"
-.Fa "int altidx"
-.Fa "int endptidx"
-.Fc
-.Ft "usb_interface_descriptor_t *"
-.Fn usbd_find_idesc "usb_config_descriptor_t *cd" "int ifaceidx" "int altidx"
-.Ft void
-.Fn usbd_free_buffer "usbd_xfer_handle xfer"
-.Ft usbd_status
-.Fn usbd_free_xfer "usbd_xfer_handle xfer"
-.Ft "void *"
-.Fn usbd_get_buffer "usbd_xfer_handle xfer"
-.Ft usbd_status
-.Fn usbd_get_config "usbd_device_handle dev" "u_int8_t *conf"
-.Ft usbd_status
-.Fo usbd_get_config_desc
-.Fa "usbd_device_handle dev"
-.Fa "int confidx"
-.Fa "usb_config_descriptor_t *d"
-.Fc
-.Ft usbd_status
-.Fo usbd_get_config_desc_full
-.Fa "usbd_device_handle dev"
-.Fa "int conf"
-.Fa "void *d"
-.Fa "int size"
-.Fc
-.Ft "usb_config_descriptor_t *"
-.Fn usbd_get_config_descriptor "usbd_device_handle dev"
-.Ft "usb_device_descriptor_t *"
-.Fn usbd_get_device_descriptor "usbd_device_handle dev"
-.Ft "usb_endpoint_descriptor_t *"
-.Fo usbd_get_endpoint_descriptor
-.Fa "usbd_interface_handle iface"
-.Fa "u_int8_t address"
-.Fc
-.Ft int
-.Fn usbd_get_interface_altindex "usbd_interface_handle iface"
-.Ft "usb_interface_descriptor_t *"
-.Fn usbd_get_interface_descriptor "usbd_interface_handle iface"
-.Ft int
-.Fn usbd_get_no_alts "usb_config_descriptor_t *cdesc" "int ifaceno"
-.Ft "const struct usbd_quirks *"
-.Fn usbd_get_quirks "usbd_device_handle dev"
-.Ft int
-.Fn usbd_get_speed "usbd_device_handle dev"
-.Ft usbd_status
-.Fn usbd_get_string "usbd_device_handle dev" "int si" "char *buf"
-.Ft usbd_status
-.Fo usbd_get_string_desc
-.Fa "usbd_device_handle dev"
-.Fa "int sindex"
-.Fa "int langid"
-.Fa "usb_string_descriptor_t *sdesc"
-.Fa "int *sizep"
-.Fc
-.Ft void
-.Fo usbd_get_xfer_status
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_private_handle *priv"
-.Fa "void **buffer"
-.Fa "u_int32_t *count"
-.Fa "usbd_status *status"
-.Fc
-.Ft void
-.Fo usbd_interface2device_handle
-.Fa "usbd_interface_handle iface"
-.Fa "usbd_device_handle *dev"
-.Fc
-.Ft "usb_endpoint_descriptor_t *"
-.Fo usbd_interface2endpoint_descriptor
-.Fa "usbd_interface_handle iface"
-.Fa "u_int8_t index"
-.Fc
-.Ft usbd_status
-.Fn usbd_interface_count "usbd_device_handle dev" "u_int8_t *count"
-.Ft usbd_status
-.Fo usbd_intr_transfer
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_pipe_handle pipe"
-.Fa "u_int16_t flags"
-.Fa "u_int32_t timeout"
-.Fa "void *buf"
-.Fa "u_int32_t *size"
-.Fa "char *lbl"
-.Fc
-.Ft usbd_status
-.Fo usbd_open_pipe
-.Fa "usbd_interface_handle iface"
-.Fa "u_int8_t address"
-.Fa "u_int8_t flags"
-.Fa "usbd_pipe_handle *pipe"
-.Fc
-.Ft usbd_status
-.Fo usbd_open_pipe_intr
-.Fa "usbd_interface_handle iface"
-.Fa "u_int8_t address"
-.Fa "u_int8_t flags"
-.Fa "usbd_pipe_handle *pipe"
-.Fa "usbd_private_handle priv"
-.Fa "void *buffer"
-.Fa "u_int32_t len"
-.Fa "usbd_callback cb"
-.Fa "int ival"
-.Fc
-.Ft usbd_device_handle
-.Fn usbd_pipe2device_handle "usbd_pipe_handle pipe"
-.Ft int
-.Fn usbd_ratecheck "struct timeval *last"
-.Ft usbd_status
-.Fn usbd_set_config_index "usbd_device_handle dev" "int index" "int msg"
-.Ft usbd_status
-.Fn usbd_set_config_no "usbd_device_handle dev" "int no" "int msg"
-.Ft usbd_status
-.Fn usbd_set_interface "usbd_interface_handle iface" "int altidx"
-.Ft void
-.Fn usbd_set_polling "usbd_device_handle dev" "int on"
-.Ft void
-.Fo usbd_setup_default_xfer
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_device_handle dev"
-.Fa "usbd_private_handle priv"
-.Fa "u_int32_t timeout"
-.Fa "usb_device_request_t *req"
-.Fa "void *buffer"
-.Fa "u_int32_t length"
-.Fa "u_int16_t flags"
-.Fa "usbd_callback callback"
-.Fc
-.Ft void
-.Fo usbd_setup_isoc_xfer
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_pipe_handle pipe"
-.Fa "usbd_private_handle priv"
-.Fa "u_int16_t *frlengths"
-.Fa "u_int32_t nframes"
-.Fa "u_int16_t flags"
-.Fa "usbd_callback callback"
-.Fc
-.Ft void
-.Fo usbd_setup_xfer
-.Fa "usbd_xfer_handle xfer"
-.Fa "usbd_pipe_handle pipe"
-.Fa "usbd_private_handle priv"
-.Fa "void *buffer"
-.Fa "u_int32_t length"
-.Fa "u_int16_t flags"
-.Fa "u_int32_t timeout"
-.Fa "usbd_callback callback"
-.Fc
-.Ft usbd_status
-.Fn usbd_sync_transfer "usbd_xfer_handle xfer"
-.Ft usbd_status
-.Fn usbd_transfer "usbd_xfer_handle xfer"
 .Sh DESCRIPTION
 The Universal Serial Bus (USB) driver programming interface provides
 USB peripheral drivers with a host controller independent API for
 controlling and communicating with USB peripherals.
+The
+.Nm usb
+module supports both USB Host and USB Device side mode.
+.
+.Sh USB KERNEL PROGRAMMING
+Here is a list of commonly used functions:
 .Pp
-Typically, drivers will first use some combination of the functions
-.Fn usbd_set_config_no ,
-.Fn usbd_get_config_descriptor ,
-.Fn usbd_set_interface ,
-.Fn usbd_get_interface_descriptor ,
-.Fn usbd_device2interface_handle ,
-.Fn usbd_endpoint_count
-and
-.Fn usbd_interface2endpoint_descriptor
-to query the device's properties and prepare it for use.
-Drivers can then perform requests on the USB control pipe using
-.Fn usbd_do_request ,
-they can open pipes using the functions
-.Fn usbd_open_pipe
-and
-.Fn usbd_open_pipe_intr ,
-and perform transfers over these pipes using
-.Fn usbd_alloc_xfer ,
-.Fn usbd_setup_xfer
-and
-.Fn usbd_transfer .
-Finally, the functions
-.Fn usbd_abort_pipe ,
-.Fn usbd_close_pipe
-and
-.Fn usbd_free_xfer
-are used to cancel outstanding transfers, close open pipes and deallocate
-transfer structures.
+.
+.Ft "usb_error_t"
+.Fo "usbd_transfer_setup"
+.Fa "udev"
+.Fa "ifaces"
+.Fa "pxfer"
+.Fa "setup_start"
+.Fa "n_setup"
+.Fa "priv_sc"
+.Fa "priv_mtx"
+.Fc
+.
 .Pp
-The
-.Fn usbd_get_device_descriptor
-function returns a pointer to the USB device descriptor for
-.Fa dev .
-See
-.Sx "USB Descriptors"
-below for information about the USB device descriptor.
+.
+.Ft "void"
+.Fo "usbd_transfer_unsetup"
+.Fa "pxfer"
+.Fa "n_setup"
+.Fc
+.
 .Pp
-The
-.Fn usbd_get_config_desc
-function retrieves the specified configuration descriptor from the device.
-The
-.Fa confidx
-parameter specifies the configuration descriptor index, which must be less
-than the
-.Fa bNumConfigurations
-value in the device descriptor.
-The function
-.Fn usbd_get_config_desc_full
-retrieves a full configuration descriptor, which has all related interface
-and endpoint descriptors appended to a normal configuration descriptor.
-The parameter
-.Fa d
-should point to memory that is at least
-.Fa size
-bytes in length, and this should be at least as long as the
-.Fa wTotalLength
-value from the configuration descriptor.
-See
-.Sx "USB Descriptors"
-below for information about the USB configuration descriptor.
+.
+.Ft "void"
+.Fo "usbd_transfer_start"
+.Fa "xfer"
+.Fc
+.
 .Pp
-The
-.Fn usbd_get_config
-function retrieves the current configuration number from the device, i.e.\&
-the
-.Fa bConfigurationValue
-value from the configuration that is active.
-If the device is unconfigured then
-.Dv USB_UNCONFIG_NO
-is returned.
-The current configuration can be changed by calling either
-.Fn usbd_set_config_index
-or
-.Fn usbd_set_config_no .
-The difference between these functions is that
-.Fn usbd_set_config_index
-accepts a configuration index number that is less than the
-.Fa bNumConfigurations
-value from the device descriptor, whereas
-.Fn usbd_set_config_no
-requires the
-.Fa bConfigurationValue
-value of the desired configuration to be provided instead.
-To unconfigure the device, supply a configuration index of
-.Dv USB_UNCONFIG_INDEX
-to
-.Fn usbd_set_config_index ,
-or else specify a configuration number of
-.Dv USB_UNCONFIG_NO
-to
-.Fn usbd_set_config_no .
+.
+.Ft "void"
+.Fo "usbd_transfer_stop"
+.Fa "xfer"
+.Fc
+.
 .Pp
-The
-.Fn usbd_get_config_descriptor
-function returns a pointer to an in-memory copy of the full configuration
-descriptor of the configuration that is currently active.
-The returned pointer remains valid until the device configuration
-is changed using
-.Fn usbd_set_config_index
-or
-.Fn usbd_set_config_no .
-If the device is unconfigured then
-.Dv NULL
-is returned instead.
+.
+.Ft "void"
+.Fo "usbd_transfer_drain"
+.Fa "xfer"
+.Fc
+.
+.
+.
+.Sh USB TRANSFER MANAGEMENT FUNCTIONS
+The USB standard defines four types of USB transfers.
+.
+Control transfers, Bulk transfers, Interrupt transfers and Isochronous
+transfers.
+.
+All the transfer types are managed using the following five functions:
+.
 .Pp
-The function
-.Fn usbd_interface_count
-returns the number of interfaces available in the current device
-configuration.
-The
-.Fn usbd_get_no_alts
-function determines the number of alternate interfaces in a full
-configuration descriptor by counting the interface descriptors with
-.Fa bInterfaceNumber
-equal to
-.Fa ifaceno
-(the count includes alternate index zero).
-The
-.Fn usbd_find_idesc
-function locates an interface descriptor within a full configuration
-descriptor.
-The
-.Fa ifaceidx
-parameter specifies the interface index number, which should be less than
-the number of interfaces in the configuration descriptor (i.e.\& the value
-returned by
-.Fn usbd_interface_count
-or the
-.Fa bNumInterface
-field from the configuration descriptor).
-An alternate interface can be specified using a non-zero
-.Fa altidx ,
-which should be less than the value returned by
-.Fn usbd_get_no_alts .
-The return value is a pointer to the requested interface descriptor
-within the full configuration descriptor, or
-.Dv NULL
-if the specified interface descriptor does not exist.
-Note that the
-.Fa altidx
-parameter specifies the alternate setting by index number starting
-at zero; it is not the alternate setting number defined in the
-interface descriptor.
+.
+.Fn usbd_transfer_setup
+This function will allocate memory for and initialise an array of USB
+transfers and all required DMA memory.
+.
+This function can sleep or block waiting for resources to become
+available.
+.Fa udev
+is a pointer to "struct usb_device".
+.Fa ifaces
+is an array of interface index numbers to use. See "if_index".
+.Fa pxfer
+is a pointer to an array of USB transfer pointers that are initialized
+to NULL, and then pointed to allocated USB transfers.
+.Fa setup_start
+is a pointer to an array of USB config structures.
+.Fa n_setup
+is a number telling the USB system how many USB transfers should be
+setup.
+.Fa priv_sc
+is the private softc pointer, which will be used to initialize
+"xfer->priv_sc".
+.Fa priv_mtx
+is the private mutex protecting the transfer structure and the
+softc. This pointer is used to initialize "xfer->priv_mtx".
+This function returns
+zero upon success. A non-zero return value indicates failure.
+.
 .Pp
-The function
-.Fn usbd_find_edesc
-locates an endpoint descriptor within a full configuration descriptor.
-The
-.Fa ifaceidx
-and
-.Fa altidx
-parameters are the same as described for
-.Fn usbd_find_idesc ,
-and the
-.Fa endptidx
-parameter is an endpoint index number that should be less than the
-.Fa bNumEndpoints
-field in the interface descriptor.
-The return value is a pointer to the requested endpoint descriptor
-within the full configuration descriptor, or
-.Dv NULL
-if the specified endpoint descriptor does not exist.
-Note that the
-.Fa altidx
-and
-.Fa endptidx
-parameters are index numbers starting at zero; they are not the
-alternate setting and endpoint address defined in the descriptors.
+.
+.Fn usbd_transfer_unsetup
+This function will release the given USB transfers and all allocated
+resources associated with these USB transfers. 
+.Fa pxfer
+is a pointer to an array of USB transfer pointers, that may be NULL,
+that should be freed by the USB system.
+.Fa n_setup
+is a number telling the USB system how many USB transfers should be
+unsetup.
+.
+This function can sleep waiting for USB transfers to complete.
+.
+This function is NULL safe with regard to the USB transfer structure
+pointer.
+.
+It is not allowed to call this function from the USB transfer
+callback.
+.
 .Pp
-The
-.Fn usbd_get_speed
-function returns the device speed.
-This can be
-.Dv USB_SPEED_LOW ,
-.Dv USB_SPEED_FULL
-or
-.Dv USB_SPEED_HIGH .
+.
+.Fn usbd_transfer_start
+This function will start the USB transfer pointed to by
+.Fa xfer,
+if not already started.
+.
+This function is always non-blocking and must be called with the
+so-called private USB mutex locked.
+.
+This function is NULL safe with regard to the USB transfer structure
+pointer.
+.
 .Pp
-USB devices optionally support string descriptors, which can be
-retrieved using the
-.Fn usbd_get_string
-or
-.Fn usbd_get_string_desc
-functions.
-Device, configuration and interface descriptors reference strings by
-an index number that can be supplied to these functions.
-The
-.Fn usbd_get_string
-function should be used unless a non-default language is required.
-It requires that
-.Fa buf
-points to a buffer of at least
-.Dv USB_MAX_STRING_LEN
-bytes in size.
-The
-.Fa si
-parameter specified which string to retrieve.
+.
+.Fn usbd_transfer_stop
+This function will stop the USB transfer pointed to by
+.Fa xfer,
+if not already stopped.
+.
+This function is always non-blocking and must be called with the
+so-called private USB mutex locked.
+.
+This function can return before the USB callback has been called.
+.
+This function is NULL safe with regard to the USB transfer structure
+pointer.
+.
+If the transfer was in progress, the callback will called with
+"USB_ST_ERROR" and "error = USB_ERR_CANCELLED".
+.
 .Pp
-The
-.Fn usb_find_desc
-function searches through the in-memory full configuration descriptor
-for the active configuration and finds the first descriptor that has a
-.Fa bDescriptorType
-equal to
-.Fa type ,
-and if
-.Fa subtype
-is not equal to
-.Dv USBD_SUBTYPE_ANY ,
-the descriptor must also have a
-.Fa bDescriptorSubtype

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906251503.n5PF3bHh008384>