From owner-svn-src-projects@FreeBSD.ORG Thu May 21 17:55:48 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75C4A106566B; Thu, 21 May 2009 17:55:48 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 603F98FC26; Thu, 21 May 2009 17:55:48 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4LHtm37074486; Thu, 21 May 2009 17:55:48 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4LHtlcU074476; Thu, 21 May 2009 17:55:47 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200905211755.n4LHtlcU074476@svn.freebsd.org> From: Rui Paulo Date: Thu, 21 May 2009 17:55:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192560 - in projects/mesh11s: . contrib/bind9 contrib/cpio contrib/csup contrib/file contrib/gdb contrib/gdtoa contrib/less contrib/libpcap contrib/ncurses contrib/netcat contrib/ntp c... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 May 2009 17:55:48 -0000 Author: rpaulo Date: Thu May 21 17:55:47 2009 New Revision: 192560 URL: http://svn.freebsd.org/changeset/base/192560 Log: MFC 192402:192554 Added: projects/mesh11s/sys/dev/usb/controller/avr32dci.c - copied unchanged from r192554, head/sys/dev/usb/controller/avr32dci.c projects/mesh11s/sys/dev/usb/controller/avr32dci.h - copied unchanged from r192554, head/sys/dev/usb/controller/avr32dci.h projects/mesh11s/sys/net80211/ieee80211_radiotap.c - copied unchanged from r192554, head/sys/net80211/ieee80211_radiotap.c projects/mesh11s/sys/powerpc/booke/mp_cpudep.c - copied unchanged from r192554, head/sys/powerpc/booke/mp_cpudep.c projects/mesh11s/tools/regression/bin/date/ - copied from r192554, head/tools/regression/bin/date/ Deleted: projects/mesh11s/share/man/man4/usb2_core.4 Modified: projects/mesh11s/ (props changed) projects/mesh11s/UPDATING projects/mesh11s/contrib/bind9/ (props changed) projects/mesh11s/contrib/cpio/ (props changed) projects/mesh11s/contrib/csup/ (props changed) projects/mesh11s/contrib/file/ (props changed) projects/mesh11s/contrib/gdb/ (props changed) projects/mesh11s/contrib/gdtoa/ (props changed) projects/mesh11s/contrib/less/ (props changed) projects/mesh11s/contrib/libpcap/ (props changed) projects/mesh11s/contrib/ncurses/ (props changed) projects/mesh11s/contrib/netcat/ (props changed) projects/mesh11s/contrib/ntp/ (props changed) projects/mesh11s/contrib/openbsm/ (props changed) projects/mesh11s/contrib/openpam/ (props changed) projects/mesh11s/contrib/pf/ (props changed) projects/mesh11s/contrib/sendmail/ (props changed) projects/mesh11s/contrib/tcpdump/ (props changed) projects/mesh11s/contrib/top/ (props changed) projects/mesh11s/contrib/top/install-sh (props changed) projects/mesh11s/contrib/wpa/ (props changed) projects/mesh11s/crypto/openssh/ (props changed) projects/mesh11s/crypto/openssl/ (props changed) projects/mesh11s/etc/mtree/BSD.include.dist projects/mesh11s/include/Makefile projects/mesh11s/lib/libc/ (props changed) projects/mesh11s/lib/libc/posix1e/posix1e.3 projects/mesh11s/lib/libc/stdio/asprintf.c (props changed) projects/mesh11s/lib/libc/stdtime/ (props changed) projects/mesh11s/lib/libc/string/ffsll.c (props changed) projects/mesh11s/lib/libc/string/flsll.c (props changed) projects/mesh11s/lib/libc/string/wcpcpy.c (props changed) projects/mesh11s/lib/libc/string/wcpncpy.c (props changed) projects/mesh11s/lib/libdisk/open_ia64_disk.c projects/mesh11s/lib/libusb/ (props changed) projects/mesh11s/lib/libusb/libusb.3 (contents, props changed) projects/mesh11s/lib/libusb/usb.h (props changed) projects/mesh11s/lib/libutil/ (props changed) projects/mesh11s/release/doc/share/misc/dev.archlist.txt projects/mesh11s/sbin/ (props changed) projects/mesh11s/sbin/ipfw/ (props changed) projects/mesh11s/share/man/man4/altq.4 projects/mesh11s/share/man/man4/nge.4 projects/mesh11s/share/man/man4/usb.4 projects/mesh11s/share/man/man9/atomic.9 projects/mesh11s/share/zoneinfo/ (props changed) projects/mesh11s/sys/ (props changed) projects/mesh11s/sys/amd64/amd64/mca.c projects/mesh11s/sys/amd64/include/xen/ (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c (props changed) projects/mesh11s/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c (props changed) projects/mesh11s/sys/compat/svr4/svr4_misc.c projects/mesh11s/sys/conf/files projects/mesh11s/sys/conf/files.powerpc projects/mesh11s/sys/contrib/dev/acpica/ (props changed) projects/mesh11s/sys/contrib/pf/ (props changed) projects/mesh11s/sys/dev/aac/aac.c projects/mesh11s/sys/dev/acpica/acpi.c projects/mesh11s/sys/dev/age/if_age.c projects/mesh11s/sys/dev/amr/amr.c projects/mesh11s/sys/dev/amr/amr_linux.c projects/mesh11s/sys/dev/arcmsr/arcmsr.c projects/mesh11s/sys/dev/ata/ata-usb.c (contents, props changed) projects/mesh11s/sys/dev/ata/chipsets/ata-promise.c projects/mesh11s/sys/dev/ath/if_ath.c projects/mesh11s/sys/dev/ath/if_athvar.h projects/mesh11s/sys/dev/bwi/if_bwi.c projects/mesh11s/sys/dev/bwi/if_bwivar.h projects/mesh11s/sys/dev/ciss/ciss.c projects/mesh11s/sys/dev/cxgb/ (props changed) projects/mesh11s/sys/dev/cxgb/common/cxgb_ael1002.c projects/mesh11s/sys/dev/cxgb/common/cxgb_common.h projects/mesh11s/sys/dev/cxgb/common/cxgb_t3_hw.c projects/mesh11s/sys/dev/cxgb/cxgb_adapter.h projects/mesh11s/sys/dev/cxgb/cxgb_main.c projects/mesh11s/sys/dev/cxgb/cxgb_sge.c projects/mesh11s/sys/dev/if_ndis/if_ndis.c projects/mesh11s/sys/dev/if_ndis/if_ndis_usb.c projects/mesh11s/sys/dev/iir/iir_ctrl.c projects/mesh11s/sys/dev/ipw/if_ipw.c projects/mesh11s/sys/dev/ipw/if_ipwvar.h projects/mesh11s/sys/dev/iwi/if_iwi.c projects/mesh11s/sys/dev/iwi/if_iwivar.h projects/mesh11s/sys/dev/iwn/if_iwn.c projects/mesh11s/sys/dev/iwn/if_iwnvar.h projects/mesh11s/sys/dev/malo/if_malo.c projects/mesh11s/sys/dev/malo/if_malo.h projects/mesh11s/sys/dev/mfi/mfi.c projects/mesh11s/sys/dev/mfi/mfi_linux.c projects/mesh11s/sys/dev/mpt/mpt_raid.c projects/mesh11s/sys/dev/mpt/mpt_user.c projects/mesh11s/sys/dev/nge/if_nge.c projects/mesh11s/sys/dev/nge/if_ngereg.h projects/mesh11s/sys/dev/ral/rt2560.c projects/mesh11s/sys/dev/ral/rt2560var.h projects/mesh11s/sys/dev/ral/rt2661.c projects/mesh11s/sys/dev/ral/rt2661var.h projects/mesh11s/sys/dev/sound/midi/midi.c projects/mesh11s/sys/dev/sound/pci/emu10kx-midi.c projects/mesh11s/sys/dev/sound/pci/via82c686.h projects/mesh11s/sys/dev/sound/sbus/cs4231.h projects/mesh11s/sys/dev/sound/usb/uaudio.c (contents, props changed) projects/mesh11s/sys/dev/sound/usb/uaudio.h (props changed) projects/mesh11s/sys/dev/sound/usb/uaudio_pcm.c (props changed) projects/mesh11s/sys/dev/sound/usb/uaudioreg.h (contents, props changed) projects/mesh11s/sys/dev/twa/tw_osl_freebsd.c projects/mesh11s/sys/dev/twe/twe_freebsd.c projects/mesh11s/sys/dev/usb/README.TXT (props changed) projects/mesh11s/sys/dev/usb/bluetooth/TODO.TXT (props changed) projects/mesh11s/sys/dev/usb/bluetooth/ng_ubt.c (contents, props changed) projects/mesh11s/sys/dev/usb/bluetooth/ng_ubt_var.h (props changed) projects/mesh11s/sys/dev/usb/bluetooth/ubtbcmfw.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/at91dci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/at91dci.h (contents, props changed) projects/mesh11s/sys/dev/usb/controller/at91dci_atmelarm.c (props changed) projects/mesh11s/sys/dev/usb/controller/atmegadci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/atmegadci.h (contents, props changed) projects/mesh11s/sys/dev/usb/controller/atmegadci_atmelarm.c (props changed) projects/mesh11s/sys/dev/usb/controller/ehci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/ehci.h (props changed) projects/mesh11s/sys/dev/usb/controller/ehci_ixp4xx.c (props changed) projects/mesh11s/sys/dev/usb/controller/ehci_mbus.c (props changed) projects/mesh11s/sys/dev/usb/controller/ehci_pci.c (props changed) projects/mesh11s/sys/dev/usb/controller/musb_otg.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/musb_otg.h (contents, props changed) projects/mesh11s/sys/dev/usb/controller/musb_otg_atmelarm.c (props changed) projects/mesh11s/sys/dev/usb/controller/ohci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/ohci.h (props changed) projects/mesh11s/sys/dev/usb/controller/ohci_atmelarm.c (props changed) projects/mesh11s/sys/dev/usb/controller/ohci_pci.c (props changed) projects/mesh11s/sys/dev/usb/controller/uhci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/uhci.h (props changed) projects/mesh11s/sys/dev/usb/controller/uhci_pci.c (props changed) projects/mesh11s/sys/dev/usb/controller/usb_controller.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/uss820dci.c (contents, props changed) projects/mesh11s/sys/dev/usb/controller/uss820dci.h (contents, props changed) projects/mesh11s/sys/dev/usb/controller/uss820dci_atmelarm.c (contents, props changed) projects/mesh11s/sys/dev/usb/input/uhid.c (contents, props changed) projects/mesh11s/sys/dev/usb/input/ukbd.c (contents, props changed) projects/mesh11s/sys/dev/usb/input/ums.c (contents, props changed) projects/mesh11s/sys/dev/usb/input/usb_rdesc.h (props changed) projects/mesh11s/sys/dev/usb/misc/udbp.c (contents, props changed) projects/mesh11s/sys/dev/usb/misc/udbp.h (props changed) projects/mesh11s/sys/dev/usb/misc/ufm.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_aue.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_auereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_axe.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_axereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_cdce.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_cdcereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_cue.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_cuereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_kue.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_kuefw.h (props changed) projects/mesh11s/sys/dev/usb/net/if_kuereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_rue.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_ruereg.h (props changed) projects/mesh11s/sys/dev/usb/net/if_udav.c (contents, props changed) projects/mesh11s/sys/dev/usb/net/if_udavreg.h (props changed) projects/mesh11s/sys/dev/usb/net/usb_ethernet.c (props changed) projects/mesh11s/sys/dev/usb/net/usb_ethernet.h (props changed) projects/mesh11s/sys/dev/usb/quirk/usb_quirk.c (props changed) projects/mesh11s/sys/dev/usb/quirk/usb_quirk.h (props changed) projects/mesh11s/sys/dev/usb/serial/u3g.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uark.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/ubsa.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/ubser.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uchcom.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/ucycom.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/ufoma.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uftdi.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uftdi_reg.h (props changed) projects/mesh11s/sys/dev/usb/serial/ugensa.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uipaq.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/ulpt.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/umct.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/umodem.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/umoscom.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uplcom.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/usb_serial.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/usb_serial.h (props changed) projects/mesh11s/sys/dev/usb/serial/uslcom.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uvisor.c (contents, props changed) projects/mesh11s/sys/dev/usb/serial/uvscom.c (contents, props changed) projects/mesh11s/sys/dev/usb/storage/rio500_usb.h (props changed) projects/mesh11s/sys/dev/usb/storage/umass.c (contents, props changed) projects/mesh11s/sys/dev/usb/storage/urio.c (contents, props changed) projects/mesh11s/sys/dev/usb/storage/ustorage_fs.c (contents, props changed) projects/mesh11s/sys/dev/usb/template/usb_template.c (contents, props changed) projects/mesh11s/sys/dev/usb/template/usb_template.h (props changed) projects/mesh11s/sys/dev/usb/template/usb_template_cdce.c (props changed) projects/mesh11s/sys/dev/usb/template/usb_template_msc.c (props changed) projects/mesh11s/sys/dev/usb/template/usb_template_mtp.c (props changed) projects/mesh11s/sys/dev/usb/ufm_ioctl.h (props changed) projects/mesh11s/sys/dev/usb/usb.h (props changed) projects/mesh11s/sys/dev/usb/usb_bus.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_busdma.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_busdma.h (props changed) projects/mesh11s/sys/dev/usb/usb_cdc.h (props changed) projects/mesh11s/sys/dev/usb/usb_compat_linux.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_compat_linux.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_controller.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_core.c (props changed) projects/mesh11s/sys/dev/usb/usb_core.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_debug.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_debug.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_defs.h (props changed) projects/mesh11s/sys/dev/usb/usb_dev.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_dev.h (props changed) projects/mesh11s/sys/dev/usb/usb_device.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_device.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_dynamic.c (props changed) projects/mesh11s/sys/dev/usb/usb_dynamic.h (props changed) projects/mesh11s/sys/dev/usb/usb_endian.h (props changed) projects/mesh11s/sys/dev/usb/usb_error.c (props changed) projects/mesh11s/sys/dev/usb/usb_error.h (props changed) projects/mesh11s/sys/dev/usb/usb_generic.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_generic.h (props changed) projects/mesh11s/sys/dev/usb/usb_handle_request.c (props changed) projects/mesh11s/sys/dev/usb/usb_handle_request.h (props changed) projects/mesh11s/sys/dev/usb/usb_hid.c (props changed) projects/mesh11s/sys/dev/usb/usb_hid.h (props changed) projects/mesh11s/sys/dev/usb/usb_hub.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_hub.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_if.m (props changed) projects/mesh11s/sys/dev/usb/usb_ioctl.h (props changed) projects/mesh11s/sys/dev/usb/usb_lookup.c (props changed) projects/mesh11s/sys/dev/usb/usb_lookup.h (props changed) projects/mesh11s/sys/dev/usb/usb_mbuf.c (props changed) projects/mesh11s/sys/dev/usb/usb_mbuf.h (props changed) projects/mesh11s/sys/dev/usb/usb_mfunc.h (props changed) projects/mesh11s/sys/dev/usb/usb_msctest.c (props changed) projects/mesh11s/sys/dev/usb/usb_msctest.h (props changed) projects/mesh11s/sys/dev/usb/usb_parse.c (props changed) projects/mesh11s/sys/dev/usb/usb_parse.h (props changed) projects/mesh11s/sys/dev/usb/usb_pci.h (props changed) projects/mesh11s/sys/dev/usb/usb_process.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_process.h (props changed) projects/mesh11s/sys/dev/usb/usb_request.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_request.h (props changed) projects/mesh11s/sys/dev/usb/usb_revision.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_transfer.c (contents, props changed) projects/mesh11s/sys/dev/usb/usb_transfer.h (contents, props changed) projects/mesh11s/sys/dev/usb/usb_util.c (props changed) projects/mesh11s/sys/dev/usb/usb_util.h (props changed) projects/mesh11s/sys/dev/usb/usbdevs (props changed) projects/mesh11s/sys/dev/usb/usbhid.h (props changed) projects/mesh11s/sys/dev/usb/wlan/if_rum.c (contents, props changed) projects/mesh11s/sys/dev/usb/wlan/if_rumfw.h (props changed) projects/mesh11s/sys/dev/usb/wlan/if_rumreg.h (props changed) projects/mesh11s/sys/dev/usb/wlan/if_rumvar.h (contents, props changed) projects/mesh11s/sys/dev/usb/wlan/if_uath.c projects/mesh11s/sys/dev/usb/wlan/if_uathvar.h projects/mesh11s/sys/dev/usb/wlan/if_upgt.c projects/mesh11s/sys/dev/usb/wlan/if_ural.c (contents, props changed) projects/mesh11s/sys/dev/usb/wlan/if_uralreg.h (props changed) projects/mesh11s/sys/dev/usb/wlan/if_uralvar.h (contents, props changed) projects/mesh11s/sys/dev/usb/wlan/if_zyd.c (contents, props changed) projects/mesh11s/sys/dev/usb/wlan/if_zydfw.h (props changed) projects/mesh11s/sys/dev/usb/wlan/if_zydreg.h (props changed) projects/mesh11s/sys/dev/wi/if_wi.c projects/mesh11s/sys/dev/wi/if_wireg.h projects/mesh11s/sys/dev/wi/if_wivar.h projects/mesh11s/sys/dev/wpi/if_wpi.c projects/mesh11s/sys/dev/wpi/if_wpivar.h projects/mesh11s/sys/dev/xen/netfront/ (props changed) projects/mesh11s/sys/dev/xen/xenpci/ (props changed) projects/mesh11s/sys/fs/nfsserver/nfs_nfsdport.c projects/mesh11s/sys/fs/nfsserver/nfs_nfsdstate.c projects/mesh11s/sys/i386/acpica/acpi_machdep.c projects/mesh11s/sys/i386/bios/smapi.c projects/mesh11s/sys/i386/i386/mca.c projects/mesh11s/sys/kern/kern_conf.c projects/mesh11s/sys/kern/kern_descrip.c projects/mesh11s/sys/kern/kern_mutex.c projects/mesh11s/sys/kern/kern_poll.c projects/mesh11s/sys/kern/subr_bus.c projects/mesh11s/sys/kern/subr_witness.c projects/mesh11s/sys/kern/tty_inq.c projects/mesh11s/sys/kern/vfs_bio.c projects/mesh11s/sys/legacy/dev/ata/ata-usb.c (props changed) projects/mesh11s/sys/legacy/dev/sound/usb/uaudio.c (props changed) projects/mesh11s/sys/legacy/dev/sound/usb/uaudio.h (props changed) projects/mesh11s/sys/legacy/dev/sound/usb/uaudio_pcm.c (props changed) projects/mesh11s/sys/legacy/dev/sound/usb/uaudioreg.h (props changed) projects/mesh11s/sys/legacy/dev/usb/ (props changed) projects/mesh11s/sys/legacy/dev/usb/ehci_ixp4xx.c (props changed) projects/mesh11s/sys/modules/dtrace/dtnfsclient/ (props changed) projects/mesh11s/sys/modules/ip6_mroute_mod/ (props changed) projects/mesh11s/sys/modules/ipmi/ipmi_linux/ (props changed) projects/mesh11s/sys/net/if_llatbl.c projects/mesh11s/sys/net/if_llatbl.h projects/mesh11s/sys/net80211/ieee80211.c projects/mesh11s/sys/net80211/ieee80211_adhoc.c projects/mesh11s/sys/net80211/ieee80211_ddb.c projects/mesh11s/sys/net80211/ieee80211_freebsd.c projects/mesh11s/sys/net80211/ieee80211_freebsd.h projects/mesh11s/sys/net80211/ieee80211_hostap.c projects/mesh11s/sys/net80211/ieee80211_ht.c projects/mesh11s/sys/net80211/ieee80211_input.c projects/mesh11s/sys/net80211/ieee80211_monitor.c projects/mesh11s/sys/net80211/ieee80211_node.c projects/mesh11s/sys/net80211/ieee80211_node.h projects/mesh11s/sys/net80211/ieee80211_output.c projects/mesh11s/sys/net80211/ieee80211_proto.c projects/mesh11s/sys/net80211/ieee80211_proto.h projects/mesh11s/sys/net80211/ieee80211_scan.c projects/mesh11s/sys/net80211/ieee80211_scan.h projects/mesh11s/sys/net80211/ieee80211_scan_sta.c projects/mesh11s/sys/net80211/ieee80211_sta.c projects/mesh11s/sys/net80211/ieee80211_superg.c projects/mesh11s/sys/net80211/ieee80211_tdma.c projects/mesh11s/sys/net80211/ieee80211_tdma.h projects/mesh11s/sys/net80211/ieee80211_var.h projects/mesh11s/sys/net80211/ieee80211_wds.c projects/mesh11s/sys/netinet/in.c projects/mesh11s/sys/netinet/ip_output.c projects/mesh11s/sys/netinet6/in6.c projects/mesh11s/sys/netinet6/mld6.c projects/mesh11s/sys/netnatm/natm.c projects/mesh11s/sys/nfs4client/nfs4_dev.c projects/mesh11s/sys/nlm/nlm.h projects/mesh11s/sys/nlm/nlm_prot_impl.c projects/mesh11s/sys/powerpc/booke/clock.c projects/mesh11s/sys/powerpc/booke/locore.S projects/mesh11s/sys/powerpc/booke/machdep.c projects/mesh11s/sys/powerpc/booke/platform_bare.c projects/mesh11s/sys/powerpc/booke/pmap.c projects/mesh11s/sys/powerpc/booke/trap_subr.S projects/mesh11s/sys/powerpc/booke/vm_machdep.c projects/mesh11s/sys/powerpc/include/mutex.h projects/mesh11s/sys/powerpc/include/pcpu.h projects/mesh11s/sys/powerpc/include/spr.h projects/mesh11s/sys/powerpc/mpc85xx/ocpbus.c projects/mesh11s/sys/powerpc/mpc85xx/ocpbus.h projects/mesh11s/sys/powerpc/powerpc/busdma_machdep.c projects/mesh11s/sys/powerpc/powerpc/genassym.c projects/mesh11s/sys/powerpc/powerpc/mp_machdep.c projects/mesh11s/sys/powerpc/powerpc/openpic.c projects/mesh11s/sys/sparc64/conf/GENERIC projects/mesh11s/sys/sys/interrupt.h projects/mesh11s/sys/sys/param.h projects/mesh11s/sys/sys/proc.h projects/mesh11s/sys/xen/evtchn.h (props changed) projects/mesh11s/sys/xen/hypervisor.h (props changed) projects/mesh11s/sys/xen/xen_intr.h (props changed) projects/mesh11s/tools/regression/lib/msun/test-conj.t (props changed) projects/mesh11s/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/mesh11s/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/mesh11s/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/mesh11s/tools/tools/ath/common/dumpregs.h (props changed) projects/mesh11s/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/mesh11s/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/mesh11s/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/mesh11s/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/mesh11s/usr.bin/csup/ (props changed) projects/mesh11s/usr.bin/perror/Makefile projects/mesh11s/usr.bin/perror/perror.c projects/mesh11s/usr.bin/procstat/ (props changed) projects/mesh11s/usr.sbin/dumpcis/cardinfo.h (props changed) projects/mesh11s/usr.sbin/dumpcis/cis.h (props changed) projects/mesh11s/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/mesh11s/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/mesh11s/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/mesh11s/usr.sbin/makefs/getid.c (props changed) projects/mesh11s/usr.sbin/pwd_mkdb/pwd_mkdb.c projects/mesh11s/usr.sbin/zic/ (props changed) Modified: projects/mesh11s/UPDATING ============================================================================== --- projects/mesh11s/UPDATING Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/UPDATING Thu May 21 17:55:47 2009 (r192560) @@ -22,6 +22,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090520: + The sysctl tree for the usb stack has renamed from hw.usb2.* to + hw.usb.* and is now consistent again with previous releases. + +20090520: + 802.11 monitor mode support was revised and driver api's + were changed. Drivers dependent on net80211 now support + DLT_IEEE802_11_RADIO instead of DLT_IEEE802_11. No + user-visible data structures were changed but applications + that use DLT_IEEE802_11 may require changes. + Bump __FreeBSD_version to 800088. + 20090430: The layout of the following structs has changed: sysctl_oid, socket, ifnet, inpcbinfo, tcpcb, syncache_head, vnet_inet, Modified: projects/mesh11s/etc/mtree/BSD.include.dist ============================================================================== --- projects/mesh11s/etc/mtree/BSD.include.dist Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/etc/mtree/BSD.include.dist Thu May 21 17:55:47 2009 (r192560) @@ -136,6 +136,8 @@ .. msdosfs .. + nfs + .. ntfs .. nullfs Modified: projects/mesh11s/include/Makefile ============================================================================== --- projects/mesh11s/include/Makefile Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/include/Makefile Thu May 21 17:55:47 2009 (r192560) @@ -43,7 +43,7 @@ LSUBDIRS= cam/scsi \ dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \ dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \ dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \ - fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \ + fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/nfs fs/ntfs fs/nullfs \ ${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \ geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ geom/mirror geom/multipath geom/nop \ Modified: projects/mesh11s/lib/libc/posix1e/posix1e.3 ============================================================================== --- projects/mesh11s/lib/libc/posix1e/posix1e.3 Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/lib/libc/posix1e/posix1e.3 Thu May 21 17:55:47 2009 (r192560) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 17, 2000 +.Dd May 20, 2009 .Dt POSIX1E 3 .Os .Sh NAME @@ -36,7 +36,6 @@ .Sh SYNOPSIS .In sys/types.h .In sys/acl.h -.\" .In sys/audit.h .\" .In sys/capability.h .In sys/mac.h .Sh DESCRIPTION @@ -104,6 +103,7 @@ structure. .Sh SEE ALSO .Xr extattr 2 , .Xr acl 3 , +.Xr libbsm 3 , .Xr mac 3 , .Xr acl 9 , .Xr extattr 9 , Modified: projects/mesh11s/lib/libdisk/open_ia64_disk.c ============================================================================== --- projects/mesh11s/lib/libdisk/open_ia64_disk.c Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/lib/libdisk/open_ia64_disk.c Thu May 21 17:55:47 2009 (r192560) @@ -40,16 +40,9 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include "libdisk.h" -static uuid_t _efi = GPT_ENT_TYPE_EFI; -static uuid_t _mbr = GPT_ENT_TYPE_MBR; -static uuid_t _fbsd = GPT_ENT_TYPE_FREEBSD; -static uuid_t _swap = GPT_ENT_TYPE_FREEBSD_SWAP; -static uuid_t _ufs = GPT_ENT_TYPE_FREEBSD_UFS; - static struct disk * parse_disk(char *conftxt, const char *name) { @@ -147,11 +140,9 @@ struct disk * Int_Open_Disk(const char *name, char *conftxt) { struct chunk chunk; - uuid_t uuid; struct disk *disk; - char *p, *q, *r, *s, *sd, *type; + char *p, *q, *r, *s, *sd; u_long i; - uint32_t status; p = conftxt; while (p != NULL && *p != 0) { @@ -186,17 +177,27 @@ Int_Open_Disk(const char *name, char *co if (conftxt != NULL) *conftxt++ = '\0'; + /* + * 1 PART da0p4 34359738368 512 + * i 4 o 52063912960 ty freebsd-ufs + * xs GPT xt 516e7cb6-6ecf-11d6-8ff8-00022d09712b + */ sd = strsep(&p, " "); /* depth */ if (strcmp(sd, "0") == 0) break; - type = strsep(&p, " "); /* type */ + q = strsep(&p, " "); /* type */ + if (strcmp(q, "PART") != 0) + continue; + chunk.name = strsep(&p, " "); /* name */ + q = strsep(&p, " "); /* length */ i = strtoimax(q, &r, 0); if (*r) abort(); chunk.end = i / disk->sector_size; + q = strsep(&p, " "); /* sector size */ for (;;) { @@ -205,82 +206,30 @@ Int_Open_Disk(const char *name, char *co break; r = strsep(&p, " "); i = strtoimax(r, &s, 0); - if (*s) { - status = uuid_s_ok; + if (strcmp(q, "ty") == 0 && *s != '\0') { if (!strcmp(r, "efi")) - uuid = _efi; - else if (!strcmp(r, "mbr")) - uuid = _mbr; - else if (!strcmp(r, "freebsd")) - uuid = _fbsd; - else if (!strcmp(r, "freebsd-swap")) - uuid = _swap; - else if (!strcmp(r, "freebsd-ufs")) - uuid = _ufs; - else { - if (!strcmp(type, "PART")) - uuid_from_string(r + 1, &uuid, - &status); - else - uuid_from_string(r, &uuid, - &status); + chunk.type = efi; + else if (!strcmp(r, "freebsd")) { + chunk.type = freebsd; + chunk.subtype = 0xa5; + } else if (!strcmp(r, "freebsd-swap")) { + chunk.type = part; + chunk.subtype = FS_SWAP; + } else if (!strcmp(r, "freebsd-ufs")) { + chunk.type = part; + chunk.subtype = FS_BSDFFS; + } else { + chunk.type = part; + chunk.subtype = FS_OTHER; } - } else - status = uuid_s_invalid_string_uuid; - if (!strcmp(q, "o")) - chunk.offset = i / disk->sector_size; - else if (!strcmp(q, "i")) - chunk.flags = CHUNK_ITOF(i) | CHUNK_HAS_INDEX; - else if (!strcmp(q, "ty")) - chunk.subtype = i; - } - - if (strncmp(type, "MBR", 3) == 0) { - switch (chunk.subtype) { - case 0xa5: - chunk.type = freebsd; - break; - case 0x01: - case 0x04: - case 0x06: - case 0x0b: - case 0x0c: - case 0x0e: - chunk.type = fat; - break; - case 0xef: /* EFI */ - chunk.type = efi; - break; - default: - chunk.type = mbr; - break; + } else { + if (!strcmp(q, "o")) + chunk.offset = i / disk->sector_size; + else if (!strcmp(q, "i")) + chunk.flags = CHUNK_ITOF(i) | + CHUNK_HAS_INDEX; } - } else if (strcmp(type, "BSD") == 0) { - chunk.type = part; - } else if (strcmp(type, "GPT") == 0 || - strcmp(type, "PART") == 0) { - chunk.subtype = 0; - if (status != uuid_s_ok) - abort(); - if (uuid_is_nil(&uuid, NULL)) - chunk.type = unused; - else if (uuid_equal(&uuid, &_efi, NULL)) - chunk.type = efi; - else if (uuid_equal(&uuid, &_mbr, NULL)) - chunk.type = mbr; - else if (uuid_equal(&uuid, &_fbsd, NULL)) { - chunk.type = freebsd; - chunk.subtype = 0xa5; - } else if (uuid_equal(&uuid, &_swap, NULL)) { - chunk.type = part; - chunk.subtype = FS_SWAP; - } else if (uuid_equal(&uuid, &_ufs, NULL)) { - chunk.type = part; - chunk.subtype = FS_BSDFFS; - } else - chunk.type = part; - } else - abort(); + } Add_Chunk(disk, chunk.offset, chunk.end, chunk.name, chunk.type, chunk.subtype, chunk.flags, 0); Modified: projects/mesh11s/lib/libusb/libusb.3 ============================================================================== --- projects/mesh11s/lib/libusb/libusb.3 Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/lib/libusb/libusb.3 Thu May 21 17:55:47 2009 (r192560) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 5, 2009 +.Dd May 21, 2009 .Dt LIBUSB 3 .Os .Sh NAME @@ -148,8 +148,8 @@ USB access library (libusb -lusb) .Fn libusb20_dev_get_power_mode "struct libusb20_device *pdev" .Ft int .Fn libusb20_dev_set_alt_index "struct libusb20_device *pdev" "uint8_t iface_index" "uint8_t alt_index" -.Ft int -.Fn libusb20_dev_get_device_desc "struct libusb20_device *pdev" "uint8_t iface_indexr", "char *buf" "uint8_t len" +.Ft struct LIBUSB20_DEVICE_DESC_DECODED * +.Fn libusb20_dev_get_device_desc "struct libusb20_device *pdev" .Ft struct libusb20_config * .Fn libusb20_dev_alloc_config "struct libusb20_device *pdev" "uint8_t config_index" .Ft struct libusb20_device * @@ -945,7 +945,7 @@ These functions are compliant with LibUS . /dev/usb .Sh SEE ALSO -.Xr usb2_core 4 , +.Xr usb 4 , .Xr usbconfig 8 . . Modified: projects/mesh11s/release/doc/share/misc/dev.archlist.txt ============================================================================== --- projects/mesh11s/release/doc/share/misc/dev.archlist.txt Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/release/doc/share/misc/dev.archlist.txt Thu May 21 17:55:47 2009 (r192560) @@ -93,7 +93,6 @@ ncv i386,pc98 nfe i386,amd64 ng_bt3c i386,pc98,amd64 ng_ubt i386,pc98,amd64 -nge i386,pc98,amd64 nsp i386,pc98 nve i386,amd64 nxge i386,amd64 Modified: projects/mesh11s/share/man/man4/altq.4 ============================================================================== --- projects/mesh11s/share/man/man4/altq.4 Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/share/man/man4/altq.4 Thu May 21 17:55:47 2009 (r192560) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 12, 2009 +.Dd May 21, 2009 .Dt ALTQ 4 .Os .Sh NAME @@ -140,6 +140,7 @@ They have been applied to the following .Xr mxge 4 , .Xr my 4 , .Xr nfe 4 , +.Xr nge 4 , .Xr npe 4 , .Xr nve 4 , .Xr ral 4 , Modified: projects/mesh11s/share/man/man4/nge.4 ============================================================================== --- projects/mesh11s/share/man/man4/nge.4 Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/share/man/man4/nge.4 Thu May 21 17:55:47 2009 (r192560) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 23, 2009 +.Dd May 21, 2009 .Dt NGE 4 .Os .Sh NAME @@ -69,8 +69,8 @@ Most cards also use the DP83861 10/100/1 chip, which supports autonegotiation of 10, 100 and 1000Mbps modes in full or half duplex. .Pp -The DP83820 also supports jumbo frames, which can be configured -via the interface MTU setting. +The DP83820 and DP83821 also support jumbo frames, which can be +configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the .Xr ifconfig 8 utility configures the adapter to receive and transmit jumbo frames. @@ -182,6 +182,21 @@ Surecom Technology EP-320G-TX .It Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI) .El +.Sh SYSCTL VARIABLES +The following variables are available as both +.Xr sysctl 8 +variables and +.Xr loader 8 +tunables: +.Bl -tag -width "xxxxxx" +.It Va dev.nge.%d.int_holdoff +Maximum amount of time to delay interrupt processing in units of +100us. +The accepted range is 0 to 255, the default is 1(100us). +Value 0 completely disables the interrupt moderation. +The interface has to be brought down and up again before a change +takes effect. +.El .Sh DIAGNOSTICS .Bl -diag .It "nge%d: couldn't map memory" @@ -205,6 +220,7 @@ The device has stopped responding to the the network connection (cable). .El .Sh SEE ALSO +.Xr altq 4 , .Xr arp 4 , .Xr miibus 4 , .Xr netintro 4 , Modified: projects/mesh11s/share/man/man4/usb.4 ============================================================================== --- projects/mesh11s/share/man/man4/usb.4 Thu May 21 17:55:18 2009 (r192559) +++ projects/mesh11s/share/man/man4/usb.4 Thu May 21 17:55:47 2009 (r192560) @@ -25,9 +25,32 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" +.\" Copyright (c) 2008 Hans Petter Selasky. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" .\" $FreeBSD$ .\" -.Dd November 22, 2006 +.Dd May 20, 2009 .Dt USB 4 .Os .Sh NAME @@ -47,22 +70,29 @@ module at boot time, place the following .Bd -literal -offset indent usb_load="YES" .Ed -.Pp -.In dev/usb/usb.h -.In dev/usb/usbhid.h +.Sh USERLAND PROGRAMMING +USB functions can be accessed from userland through the libusb library. +See +.Xr libusb 3 +for more information. .Sh DESCRIPTION .Fx provides machine-independent bus support and drivers for .Tn USB -devices. +devices in host and device side mode. .Pp The .Nm -driver has three layers: the controller, the bus, and the -device layer. +driver has three layers: +.Bl -tag +.It USB Controller (Bus) +.It USB Device +.It USB Driver +.El +.Pp The controller attaches to a physical bus -(like -.Xr pci 4 ) . +like +.Xr pci 4 . The .Tn USB bus attaches to the controller, and the root hub attaches @@ -79,14 +109,20 @@ root hub. .Sh INTRODUCTION TO USB The .Tn USB -is a 12 Mb/s serial bus (1.5 Mb/s for low speed devices). +is a system where external devices can be connected to a PC. +The most common USB speeds are: +.Bl -tag +.It Low Speed (1.5MBit/sec) +.It Full Speed (12MBit/sec) +.It High Speed (480MBit/sec) +.El +.Pp Each .Tn USB -has a host controller that is the master of the bus; -all other devices on the bus only speak when spoken to. +has a USB controller that is the master of the bus. +The physical communication is simplex which means the host controller only communicates with one USB device at a time. .Pp -There can be up to 127 devices (apart from the host controller) -on a bus, each with its own address. +There can be up to 127 devices connected to an USB HUB tree. The addresses are assigned dynamically by the host when each device is attached to the bus. .Pp @@ -116,286 +152,558 @@ A device may operate in different config Depending on the configuration, the device may present different sets of endpoints and interfaces. -.\" .Pp -.\" Each device located on a hub has several -.\" .Xr config 8 -.\" locators: -.\" .Bl -tag -compact -width xxxxxx -.\" .It Cd port -.\" this is the number of the port on the closest upstream hub. -.\" .It Cd configuration -.\" this is the configuration the device must be in for this driver to attach. -.\" This locator does not set the configuration; it is iterated by the bus -.\" enumeration. -.\" .It Cd interface -.\" this is the interface number within a device that an interface driver -.\" attaches to. -.\" .It Cd vendor -.\" this is the 16 bit vendor id of the device. -.\" .It Cd product -.\" this is the 16 bit product id of the device. -.\" .It Cd release -.\" this is the 16 bit release (revision) number of the device. -.\" .El -.\" The first locator can be used to pin down a particular device -.\" according to its physical position in the device tree. -.\" The last three locators can be used to pin down a particular -.\" device according to what device it actually is. .Pp The bus enumeration of the .Tn USB bus proceeds in several steps: .Bl -enum .It -Any device specific driver can attach to the device. -.It -If none is found, any device class specific driver can attach. +Any interface specific driver can attach to the device. .It -If none is found, all configurations are iterated over. -For each configuration, all the interfaces are iterated over, and interface -drivers can attach. -If any interface driver attached in a certain -configuration, the iteration over configurations is stopped. -.It -If still no drivers have been found, the generic -.Tn USB -driver can attach. +If none is found, generic interface class drivers can attach. .El -.Sh USB CONTROLLER INTERFACE -Use the following to get access to the -.Tn USB -specific structures and defines. +.Sh USB KERNEL PROGRAMMING +Here is a list of commonly used functions: .Pp +. +.Ft "usb2_error_t" +.Fo "usb2_transfer_setup" +.Fa "udev" +.Fa "ifaces" +.Fa "pxfer" +.Fa "setup_start" +.Fa "n_setup" +.Fa "priv_sc" +.Fa "priv_mtx" +.Fc +. +.Pp +. +.Ft "void" +.Fo "usb2_transfer_unsetup" +.Fa "pxfer" +.Fa "n_setup" +.Fc +. +.Pp +. +.Ft "void" +.Fo "usb2_transfer_start" +.Fa "xfer" +.Fc +. +.Pp +. +.Ft "void" +.Fo "usb2_transfer_stop" +.Fa "xfer" +.Fc +. +.Pp +. +.Ft "void" +.Fo "usb2_transfer_drain" +.Fa "xfer" +.Fc +. +. +.Sh DESCRIPTION The -.Pa /dev/usb Ns Ar N -can be opened and a few operations can be performed on it. -The -.Xr poll 2 -system call will say that I/O is possible on the controller device when a -.Tn USB -device has been connected or disconnected to the bus. -.Pp -The following -.Xr ioctl 2 -commands are supported on the controller device: -.Bl -tag -width xxxxxx -.It Dv USB_DISCOVER -This command will cause a complete bus discovery to be initiated. -If any devices attached or detached from the bus they will be -processed during this command. -This is the only way that new devices are found on the bus. -.It Dv USB_DEVICEINFO Vt "struct usb_device_info" -This command can be used to retrieve some information about a device -on the bus. +.Nm +module implements the core functionality of the USB standard and many +helper functions to make USB device driver programming easier and more +safe. +. The -.Va udi_addr -field should be filled before the call and the other fields will -be filled by information about the device on that address. -Should no such device exist, an error is reported. -.Bd -literal -#define USB_MAX_DEVNAMES 4 -#define USB_MAX_DEVNAMELEN 16 -struct usb_device_info { - u_int8_t udi_bus; - u_int8_t udi_addr; /* device address */ - usb_event_cookie_t udi_cookie; - char udi_product[USB_MAX_STRING_LEN]; - char udi_vendor[USB_MAX_STRING_LEN]; - char udi_release[8]; - u_int16_t udi_productNo; - u_int16_t udi_vendorNo; - u_int16_t udi_releaseNo; - u_int8_t udi_class; - u_int8_t udi_subclass; - u_int8_t udi_protocol; - u_int8_t udi_config; - u_int8_t udi_speed; -#define USB_SPEED_LOW 1 -#define USB_SPEED_FULL 2 -#define USB_SPEED_HIGH 3 - int udi_power;/* power consumption in mA, 0 if selfpowered */ - int udi_nports; - char udi_devnames[USB_MAX_DEVNAMES][USB_MAX_DEVNAMELEN]; - u_int8_t udi_ports[16];/* hub only: addresses of devices on ports */ -#define USB_PORT_ENABLED 0xff -#define USB_PORT_SUSPENDED 0xfe -#define USB_PORT_POWERED 0xfd -#define USB_PORT_DISABLED 0xfc -}; +.Nm +module supports both USB Host and USB Device side mode! +. +.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 +. +.Fn usb2_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 usb2_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 +. +.Fn usb2_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 +. +.Fn usb2_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 +. +.Fn usb2_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 "xfer->error = USB_ERR_CANCELLED". +. +.Pp +. +.Fn usb2_transfer_drain +This function will stop an USB transfer, if not already stopped and +wait for any additional USB hardware operations to complete. +. +Buffers that are loaded into DMA using "usb2_set_frame_data()" can +safely be freed after that this function has returned. +. +This function can block the caller and will not return before the USB +callback has been called. +. +This function is NULL safe with regard to the USB transfer structure +pointer. +. +.Sh USB TRANSFER CALLBACK +. +The USB callback has three states. +. +USB_ST_SETUP, USB_ST_TRANSFERRED and USB_ST_ERROR. USB_ST_SETUP is the +initial state. +. +After the callback has been called with this state it will always be +called back at a later stage in one of the other two states. +. +In the USB_ST_ERROR state the "error" field of the USB transfer +structure is set to the error cause. +. +The USB callback should not restart the USB transfer in case the error +cause is USB_ERR_CANCELLED. +. +The USB callback is protected from recursion. +. +That means one can start and stop whatever transfer from the callback +of another transfer one desires. +. +Also the transfer that is currently called back. +. +Recursion is handled like this that when the callback that wants to +recurse returns it is called one more time. +. +. +.Pp +. +.Fn usb2_start_hardware +This function should only be called from within the USB callback and +is used to start the USB hardware. +. +Typical parameters that should be set in the USB transfer structure +before this function is called are "frlengths[]", "nframes" and +"frbuffers[]". +. +An USB transfer can have multiple frames consisting of one or more USB +packets making up an I/O vector for all USB transfer types. +. +After the USB transfer is complete "frlengths[]" is updated to the +actual USB transfer length for the given frame. +.Bd -literal -offset indent +void +usb2_default_callback(struct usb2_xfer *xfer) +{ + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: + /* + * Setup xfer->frlengths[], xfer->nframes + * and write data to xfer->frbuffers[], if any + */ + usb2_start_hardware(xfer); + break; + + case USB_ST_TRANSFERRED: + /* + * Read data from xfer->frbuffers[], if any. + * "xfer->frlengths[]" should now have been + * updated to the actual length. + */ + break; + + default: /* Error */ + /* + * Print error message and clear stall + * for example. + */ + break; + } + /* + * Here it is safe to do something without the private + * USB mutex locked. + */ + return; +} .Ed -.Pp -.Va udi_bus -and -.Va udi_addr -contain the topological information for the device. -.Va udi_devnames -contains the device names of the connected drivers. -For example, the -third -.Tn USB -Zip drive connected will be -.Li umass2 . -The -.Va udi_product , udi_vendor -and -.Va udi_release -fields contain self-explanatory descriptions of the device. -.Va udi_productNo , udi_vendorNo , udi_releaseNo , udi_class , udi_subclass -and -.Va udi_protocol -contain the corresponding values from the device descriptors. -The -.Va udi_config -field shows the current configuration of the device. -.Pp -.Va udi_speed -indicates whether the device is at low speed -.Pq Dv USB_SPEED_LOW , -full speed -.Pq Dv USB_SPEED_FULL -or high speed -.Pq Dv USB_SPEED_HIGH . -The -.Va udi_power -field shows the power consumption in milli-amps drawn at 5 volts, -or zero if the device is self powered. -.Pp -If the device is a hub, the -.Va udi_nports -field is non-zero, and the -.Va udi_ports -field contains the addresses of the connected devices. -If no device is connected to a port, one of the -.Dv USB_PORT_* -values indicates its status. -.It Dv USB_DEVICESTATS Vt "struct usb_device_stats" -This command retrieves statistics about the controller. -.Bd -literal -struct usb_device_stats { - u_long uds_requests[4]; +. +.Sh USB CONTROL TRANSFERS +An USB control transfer has three parts. +. +First the SETUP packet, then DATA packet(s) and then a STATUS +packet. +. +The SETUP packet is always pointed to by "xfer->frbuffers[0]" and the +length is stored in "xfer->frlengths[0]" also if there should not be +sent any SETUP packet! If an USB control transfer has no DATA stage, +then "xfer->nframes" should be set to 1. +. +Else the default value is "xfer->nframes" equal to 2. +. +.Bd -literal -offset indent + +Example1: SETUP + STATUS + xfer->nframes = 1; + xfer->frlenghts[0] = 8; + usb2_start_hardware(xfer); + +Example2: SETUP + DATA + STATUS + xfer->nframes = 2; + xfer->frlenghts[0] = 8; + xfer->frlenghts[1] = 1; + usb2_start_hardware(xfer); + +Example3: SETUP + DATA + STATUS - split +1st callback: + xfer->nframes = 1; + xfer->frlenghts[0] = 8; + usb2_start_hardware(xfer); + +2nd callback: + /* IMPORTANT: frbuffers[0] must still point at the setup packet! */ + xfer->nframes = 2; + xfer->frlenghts[0] = 0; + xfer->frlenghts[1] = 1; + usb2_start_hardware(xfer); + +Example4: SETUP + STATUS - split +1st callback: + xfer->nframes = 1; + xfer->frlenghts[0] = 8; + xfer->flags.manual_status = 1; + usb2_start_hardware(xfer); + +2nd callback: + xfer->nframes = 1; + xfer->frlenghts[0] = 0; + xfer->flags.manual_status = 0; + usb2_start_hardware(xfer); + +.Ed +.Sh USB TRANSFER CONFIG +To simply the search for endpoints the +.Nm +module defines a USB config structure where it is possible to specify +the characteristics of the wanted endpoint. +.Bd -literal -offset indent + +struct usb2_config { + bufsize, + callback + direction, + endpoint, + frames, + index flags, + interval, + timeout, + type, }; + .Ed +. .Pp -The -.Va udi_requests -field is indexed by the transfer kind, i.e.\& -.Dv UE_* , -and indicates how many transfers of each kind that has been completed -by the controller. -.It Dv USB_REQUEST Vt "struct usb_ctl_request" -This command can be used to execute arbitrary requests on the control pipe. -This is -.Em DANGEROUS -and should be used with great care since it -can destroy the bus integrity. -.El +.Fa type +field selects the USB pipe type. +. +Valid values are: UE_INTERRUPT, UE_CONTROL, UE_BULK, +UE_ISOCHRONOUS. +. +The special value UE_BULK_INTR will select BULK and INTERRUPT pipes. +. +This field is mandatory. +. +.Pp +.Fa endpoint +field selects the USB endpoint number. +. +A value of 0xFF, "-1" or "UE_ADDR_ANY" will select the first matching +endpoint. +. +This field is mandatory. +. +.Pp +.Fa direction +field selects the USB endpoint direction. +. +A value of "UE_DIR_ANY" will select the first matching endpoint. +. +Else valid values are: "UE_DIR_IN" and "UE_DIR_OUT". +. +"UE_DIR_IN" and "UE_DIR_OUT" can be binary OR'ed by "UE_DIR_SID" which +means that the direction will be swapped in case of +USB_MODE_DEVICE. +. +Note that "UE_DIR_IN" refers to the data transfer direction of the +"IN" tokens and "UE_DIR_OUT" refers to the data transfer direction of +the "OUT" tokens. +. +This field is mandatory. +. +.Pp +.Fa interval +field selects the interrupt interval. +. +The value of this field is given in milliseconds and is independent of +device speed. +. +Depending on the endpoint type, this field has different meaning: +.Bl -tag +.It UE_INTERRUPT +"0" use the default interrupt interval based on endpoint descriptor. +"Else" use the given value for polling rate. +.It UE_ISOCHRONOUS +"0" use default. "Else" the value is ignored. +.It UE_BULK +.It UE_CONTROL +"0" no transfer pre-delay. "Else" a delay as given by this field in +milliseconds is inserted before the hardware is started when +"usb2_start_hardware()" is called. .Pp -The include file -.In dev/usb/usb.h -contains definitions for the types used by the various -.Xr ioctl 2 -calls. -The naming convention of the fields for the various -.Tn USB -descriptors exactly follows the naming in the -.Tn USB -specification. -Byte sized fields can be accessed directly, but word (16 bit) -sized fields must be access by the *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***