Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2009 22:15:08 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 156118 for review
Message-ID:  <200901132215.n0DMF8NS017431@repoman.freebsd.org>

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

Change 156118 by rwatson@rwatson_freebsd_capabilities on 2009/01/13 22:14:08

	Integrate capabilities branch.

Affected files ...

.. //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.1#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.1#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/contrib/ntp/ntpd/ntp_crypto.c#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/lib/libusb20/libusb20.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/USB2#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/conf/files#10 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/conf/files.powerpc#5 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/sound/pci/hda/hdac.c#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdevs#8 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci_atmelarm.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci.c#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/atmegadci_atmelarm.c#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2_pci.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/musb2_otg_atmelarm.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2_atmelarm.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ohci2_pci.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uhci2_pci.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_bus.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_controller.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/usb2_controller.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/uss820dci_atmelarm.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_busdma.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_compat_linux.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_core.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_debug.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_device.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_generic.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_handle_request.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_hub.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_mbuf.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_parse.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_request.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_sw_transfer.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_transfer.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/core/usb2_transfer.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_aue2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_aue2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_auereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axe2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axe2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_axereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdce2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdce2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cdcereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cue2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cue2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_cuereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2_fw.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kue2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kuefw.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_kuereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_rue2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_rue2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_ruereg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udav2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udav2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/ethernet/if_udavreg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_defs.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_devid.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_devtable.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/include/usb2_standard.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/u3g2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uark2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ubsa2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ubser2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uchcom2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ucycom2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ufoma2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uftdi2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ugensa2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uipaq2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/ulpt2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umct2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umodem2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/umoscom2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uplcom2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/usb2_serial.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/usb2_serial.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uvisor2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/serial/uvscom2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/sound/uaudio2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/storage/ata-usb2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/storage/umass2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_fw.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rum2_var.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumfw.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumreg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_rumvar.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_ural2_var.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_uralreg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_uralvar.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2.c#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2_fw.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zyd2_reg.h#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zydfw.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/wlan/if_zydreg.h#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/i386/conf/USB2#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/i386/i386/msi.c#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_timeout.c#6 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/modules/usb2/controller_atmegadci/Makefile#1 branch
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/locore.S#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/machdep.c#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/pmap.c#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/support.S#2 delete
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/booke/trap_subr.S#3 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pcpu.h#5 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pmap.h#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/pte.h#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/include/tlb.h#2 integrate
.. //depot/projects/trustedbsd/capabilities/src/sys/powerpc/powerpc/genassym.c#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/tools/sched/schedgraph.py#4 integrate
.. //depot/projects/trustedbsd/capabilities/src/usr.sbin/usbconfig/usbconfig.c#2 integrate

Differences ...

==== //depot/projects/trustedbsd/capabilities/src/bin/kenv/kenv.1#3 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/bin/kenv/kenv.1,v 1.15 2009/01/13 12:37:02 luigi Exp $
+.\" $FreeBSD: src/bin/kenv/kenv.1,v 1.16 2009/01/13 18:25:56 maxim Exp $
 .\"
-.Dd September 13, 2005
+.Dd January 13, 2009
 .Dt KENV 1
 .Os
 .Sh NAME
@@ -77,7 +77,7 @@
 in the kernel config file.
 The file can contain lines of the form
 .Pp
-.Dl name = "value"  # this is a coment
+.Dl name = "value"  # this is a comment
 .Pp
 where whitespace around name and '=', and
 everything after a '#' character, are ignored.  Almost any printable

==== //depot/projects/trustedbsd/capabilities/src/bin/ln/ln.1#3 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)ln.1	8.2 (Berkeley) 12/30/93
-.\" $FreeBSD: src/bin/ln/ln.1,v 1.33 2008/06/06 08:27:59 keramida Exp $
+.\" $FreeBSD: src/bin/ln/ln.1,v 1.34 2009/01/13 15:24:35 trhodes Exp $
 .\"
 .Dd June 6, 2008
 .Dt LN 1
@@ -38,7 +38,7 @@
 .Sh NAME
 .Nm ln ,
 .Nm link
-.Nd make links
+.Nd link files
 .Sh SYNOPSIS
 .Nm
 .Op Fl s Op Fl F
@@ -57,8 +57,13 @@
 .Sh DESCRIPTION
 The
 .Nm
-utility creates a new directory entry (linked file) which has the
-same modes as the original file.
+utility creates a new directory entry (linked file) for the file name
+specified by
+.Ar target_file .
+The
+.Ar target_file
+will be created with the same file modes as the
+.Ar source_file .
 It is useful for maintaining multiple copies of a file in many places
 at once without using up storage for the
 .Dq copies ;
@@ -148,7 +153,7 @@
 A hard link to a file is indistinguishable from the original directory entry;
 any changes to a file are effectively independent of the name used to reference
 the file.
-Hard links may not normally refer to directories and may not span file systems.
+Directories may not be hardlinked, and hard links may not span file systems.
 .Pp
 A symbolic link contains the name of the file to
 which it is linked.

==== //depot/projects/trustedbsd/capabilities/src/contrib/ntp/ntpd/ntp_crypto.c#3 (text+ko) ====

@@ -1612,7 +1612,7 @@
 	 */
 	EVP_VerifyInit(&ctx, peer->digest);
 	EVP_VerifyUpdate(&ctx, (u_char *)&ep->tstamp, vallen + 12);
-	if (!EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey))
+	if (EVP_VerifyFinal(&ctx, (u_char *)&ep->pkt[i], siglen, pkey) <= 0)
 		return (XEVNT_SIG);
 
 	if (peer->crypto & CRYPTO_FLAG_VRFY) {

==== //depot/projects/trustedbsd/capabilities/src/lib/libusb20/libusb20.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb20/libusb20.c,v 1.2 2008/11/19 08:56:35 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb20/libusb20.c,v 1.3 2009/01/13 19:06:02 thompsa Exp $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *
@@ -486,6 +486,8 @@
 
 	pdev->is_opened = 0;
 
+	pdev->claimed_interfaces = 0;
+
 	return (error);
 }
 

==== //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/USB2#2 (text+ko) ====

@@ -2,7 +2,7 @@
 # USB2 -- Generic kernel configuration file for FreeBSD/amd64 with USBng
 # stack.
 #
-# $FreeBSD: src/sys/amd64/conf/USB2,v 1.2 2008/12/30 20:13:20 rpaulo Exp $
+# $FreeBSD: src/sys/amd64/conf/USB2,v 1.3 2009/01/13 19:05:10 thompsa Exp $
 
 include GENERIC
 
@@ -108,3 +108,7 @@
 
 # USB sound and MIDI device support
 #device		usb2_sound
+
+# USB scanner support
+device		usb2_image
+device		usb2_scanner

==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1363 2009/01/08 17:12:47 sam Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1364 2009/01/13 19:18:43 thompsa Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1609,6 +1609,7 @@
 #
 # USB2 serial and parallel port drivers
 #
+dev/usb2/serial/u3g2.c		optional usb2_core usb2_serial usb2_serial_3g
 dev/usb2/serial/uark2.c		optional usb2_core usb2_serial usb2_serial_ark
 dev/usb2/serial/ubsa2.c		optional usb2_core usb2_serial usb2_serial_bsa
 dev/usb2/serial/ubser2.c	optional usb2_core usb2_serial usb2_serial_bser

==== //depot/projects/trustedbsd/capabilities/src/sys/conf/files.powerpc#5 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.powerpc,v 1.88 2009/01/01 13:26:53 ed Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.89 2009/01/13 15:41:58 raj Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -84,7 +84,6 @@
 powerpc/booke/locore.S		optional	e500 no-obj
 powerpc/booke/machdep.c		optional	e500
 powerpc/booke/pmap.c		optional	e500
-powerpc/booke/support.S		optional	e500
 powerpc/booke/swtch.S		optional	e500
 powerpc/booke/trap.c		optional	e500
 powerpc/booke/uio_machdep.c	optional	e500

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/sound/pci/hda/hdac.c#4 (text+ko) ====

@@ -83,9 +83,9 @@
 
 #include "mixer_if.h"
 
-#define HDA_DRV_TEST_REV	"20090110_0123"
+#define HDA_DRV_TEST_REV	"20090113_0124"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.88 2009/01/11 12:04:18 mav Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.89 2009/01/13 16:27:04 mav Exp $");
 
 #define HDA_BOOTVERBOSE(stmt)	do {			\
 	if (bootverbose != 0 || snd_verbose > 3) {	\
@@ -6111,6 +6111,29 @@
 }
 
 static void
+hdac_audio_ctl_commit(struct hdac_devinfo *devinfo)
+{
+	struct hdac_audio_ctl *ctl;
+	int i, z;
+
+	i = 0;
+	while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) {
+		if (ctl->enable == 0 || ctl->ossmask != 0) {
+			/* Mute disabled and mixer controllable controls.
+			 * Last will be initialized by mixer_init().
+			 * This expected to reduce click on startup. */
+			hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_ALL, 0, 0);
+			continue;
+		}
+		/* Init fixed controls to 0dB amplification. */
+		z = ctl->offset;
+		if (z > ctl->step)
+			z = ctl->step;
+		hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_NONE, z, z);
+	}
+}
+
+static void
 hdac_audio_commit(struct hdac_devinfo *devinfo)
 {
 	struct hdac_softc *sc = devinfo->codec->sc;
@@ -6126,11 +6149,41 @@
 		hdac_command(sc, HDA_CMD_12BIT(cad, devinfo->nid,
 		    0x7e7, 0), cad);
 
+	/* Commit controls. */
+	hdac_audio_ctl_commit(devinfo);
+	
+	/* Commit selectors, pins and EAPD. */
+	for (i = 0; i < devinfo->nodecnt; i++) {
+		w = &devinfo->widget[i];
+		if (w == NULL)
+			continue;
+		if (w->selconn == -1)
+			w->selconn = 0;
+		if (w->nconns > 0)
+			hdac_widget_connection_select(w, w->selconn);
+		if (w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) {
+			hdac_command(sc,
+			    HDA_CMD_SET_PIN_WIDGET_CTRL(cad, w->nid,
+			    w->wclass.pin.ctrl), cad);
+		}
+		if (w->param.eapdbtl != HDAC_INVALID) {
+		    	uint32_t val;
+
+			val = w->param.eapdbtl;
+			if (devinfo->function.audio.quirks &
+			    HDA_QUIRK_EAPDINV)
+				val ^= HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
+			hdac_command(sc,
+			    HDA_CMD_SET_EAPD_BTL_ENABLE(cad, w->nid,
+			    val), cad);
+		}
+	}
+
+	/* Commit GPIOs. */
 	gdata = 0;
 	gmask = 0;
 	gdir = 0;
 	commitgpio = 0;
-
 	numgpio = HDA_PARAM_GPIO_COUNT_NUM_GPIO(
 	    devinfo->function.audio.gpio);
 
@@ -6185,57 +6238,9 @@
 		    HDA_CMD_SET_GPIO_DATA(cad, devinfo->nid,
 		    gdata), cad);
 	}
-
-	for (i = 0; i < devinfo->nodecnt; i++) {
-		w = &devinfo->widget[i];
-		if (w == NULL)
-			continue;
-		if (w->selconn == -1)
-			w->selconn = 0;
-		if (w->nconns > 0)
-			hdac_widget_connection_select(w, w->selconn);
-		if (w->type == HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX) {
-			hdac_command(sc,
-			    HDA_CMD_SET_PIN_WIDGET_CTRL(cad, w->nid,
-			    w->wclass.pin.ctrl), cad);
-		}
-		if (w->param.eapdbtl != HDAC_INVALID) {
-		    	uint32_t val;
-
-			val = w->param.eapdbtl;
-			if (devinfo->function.audio.quirks &
-			    HDA_QUIRK_EAPDINV)
-				val ^= HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
-			hdac_command(sc,
-			    HDA_CMD_SET_EAPD_BTL_ENABLE(cad, w->nid,
-			    val), cad);
-
-		}
-	}
 }
 
 static void
-hdac_audio_ctl_commit(struct hdac_devinfo *devinfo)
-{
-	struct hdac_audio_ctl *ctl;
-	int i, z;
-
-	i = 0;
-	while ((ctl = hdac_audio_ctl_each(devinfo, &i)) != NULL) {
-		if (ctl->enable == 0) {
-			/* Mute disabled controls. */
-			hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_ALL, 0, 0);
-			continue;
-		}
-		/* Init controls to 0dB amplification. */
-		z = ctl->offset;
-		if (z > ctl->step)
-			z = ctl->step;
-		hdac_audio_ctl_amp_set(ctl, HDA_AMP_MUTE_NONE, z, z);
-	}
-}
-
-static void
 hdac_powerup(struct hdac_devinfo *devinfo)
 {
 	struct hdac_softc *sc = devinfo->codec->sc;
@@ -7477,10 +7482,6 @@
 		    	);
 			hdac_audio_commit(devinfo);
 		    	HDA_BOOTHVERBOSE(
-				device_printf(sc->dev, "Ctls commit...\n");
-			);
-			hdac_audio_ctl_commit(devinfo);
-		    	HDA_BOOTHVERBOSE(
 				device_printf(sc->dev, "HP switch init...\n");
 			);
 			hdac_hp_switch_init(devinfo);
@@ -7730,10 +7731,6 @@
 		    	);
 			hdac_audio_commit(devinfo);
 		    	HDA_BOOTHVERBOSE(
-				device_printf(dev, "Ctls commit...\n");
-			);
-			hdac_audio_ctl_commit(devinfo);
-		    	HDA_BOOTHVERBOSE(
 				device_printf(dev, "HP switch init...\n");
 			);
 			hdac_hp_switch_init(devinfo);

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb/usbdevs#8 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.392 2009/01/09 04:38:22 thompsa Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.393 2009/01/13 19:01:25 thompsa Exp $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -151,6 +151,7 @@
 vendor KYOCERA		0x0482	Kyocera Wireless Corp.
 vendor STMICRO		0x0483	STMicroelectronics
 vendor FOXCONN		0x0489	Foxconn
+vendor MEIZU		0x0492	Meizu Electronics
 vendor YAMAHA		0x0499	YAMAHA
 vendor COMPAQ		0x049f	Compaq
 vendor HITACHI		0x04a4	Hitachi
@@ -1657,6 +1658,9 @@
 product MCT USB232		0x0210	USB-232 Interface
 product MCT SITECOM_USB232	0x0230	Sitecom USB-232 Products
 
+/* Meizu Electronics */
+product MEIZU M6_SL		0x0140	MiniPlayer M6 (SL)
+
 /* Melco, Inc products */
 product MELCO LUATX1		0x0001	LUA-TX Ethernet
 product MELCO LUATX5		0x0005	LUA-TX Ethernet

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci.c,v 1.6 2009/01/04 00:12:01 alfred Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci.c,v 1.11 2009/01/13 19:05:51 thompsa Exp $");
 
 /*-
  * Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved.
@@ -50,14 +50,11 @@
 #include <dev/usb2/include/usb2_defs.h>
 
 #define	USB_DEBUG_VAR at91dcidebug
-#define	usb2_config_td_cc at91dci_config_copy
-#define	usb2_config_td_softc at91dci_softc
 
 #include <dev/usb2/core/usb2_core.h>
 #include <dev/usb2/core/usb2_debug.h>
 #include <dev/usb2/core/usb2_busdma.h>
 #include <dev/usb2/core/usb2_process.h>
-#include <dev/usb2/core/usb2_config_td.h>
 #include <dev/usb2/core/usb2_sw_transfer.h>
 #include <dev/usb2/core/usb2_transfer.h>
 #include <dev/usb2/core/usb2_device.h>
@@ -106,7 +103,6 @@
 
 static usb2_sw_transfer_func_t at91dci_root_intr_done;
 static usb2_sw_transfer_func_t at91dci_root_ctrl_done;
-static usb2_config_td_command_t at91dci_root_ctrl_task;
 
 /*
  * NOTE: Some of the bits in the CSR register have inverse meaning so
@@ -263,13 +259,13 @@
 static void
 at91dci_wakeup_peer(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	uint8_t use_polling;
 
 	if (!(sc->sc_flags.status_suspend)) {
 		return;
 	}
-	use_polling = mtx_owned(xfer->xfer_mtx) ? 1 : 0;
+	use_polling = mtx_owned(xfer->xroot->xfer_mtx) ? 1 : 0;
 
 	AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, AT91_UDP_GSTATE_ESR);
 
@@ -702,7 +698,7 @@
 	return (1);			/* not complete */
 
 done:
-	sc = xfer->usb2_sc;
+	sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	temp = (xfer->endpoint & UE_ADDR);
 
 	/* update FIFO bank flag and multi buffer */
@@ -733,11 +729,9 @@
 	}
 }
 
-static void
-at91dci_vbus_interrupt(struct usb2_bus *bus, uint8_t is_on)
+void
+at91dci_vbus_interrupt(struct at91dci_softc *sc, uint8_t is_on)
 {
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus);
-
 	DPRINTFN(5, "vbus = %u\n", is_on);
 
 	USB_BUS_LOCK(&sc->sc_bus);
@@ -764,7 +758,6 @@
 			    &at91dci_root_intr_done);
 		}
 	}
-
 	USB_BUS_UNLOCK(&sc->sc_bus);
 }
 
@@ -890,7 +883,7 @@
 
 	DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n",
 	    xfer->address, UE_GET_ADDR(xfer->endpoint),
-	    xfer->sumlen, usb2_get_speed(xfer->udev));
+	    xfer->sumlen, usb2_get_speed(xfer->xroot->udev));
 
 	temp.max_frame_size = xfer->max_frame_size;
 
@@ -905,7 +898,7 @@
 	temp.setup_alt_next = xfer->flags_int.short_frames_ok;
 	temp.offset = 0;
 
-	sc = xfer->usb2_sc;
+	sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	ep_no = (xfer->endpoint & UE_ADDR);
 
 	/* check if we should prepend a setup message */
@@ -1032,7 +1025,7 @@
 
 	DPRINTF("xfer=%p\n", xfer);
 
-	USB_BUS_LOCK_ASSERT(xfer->udev->bus, MA_OWNED);
+	USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
 
 	/* transfer is transferred */
 	at91dci_device_done(xfer, USB_ERR_TIMEOUT);
@@ -1046,7 +1039,7 @@
 	/* poll one time */
 	if (at91dci_xfer_do_fifo(xfer)) {
 
-		struct at91dci_softc *sc = xfer->usb2_sc;
+		struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 		uint8_t ep_no = xfer->endpoint & UE_ADDR;
 
 		/*
@@ -1059,7 +1052,7 @@
 		DPRINTFN(15, "enable interrupts on endpoint %d\n", ep_no);
 
 		/* put transfer on interrupt queue */
-		usb2_transfer_enqueue(&xfer->udev->bus->intr_q, xfer);
+		usb2_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer);
 
 		/* start timeout, if any */
 		if (xfer->timeout != 0) {
@@ -1073,7 +1066,7 @@
 at91dci_root_intr_done(struct usb2_xfer *xfer,
     struct usb2_sw_transfer *std)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 
 	DPRINTFN(9, "\n");
 
@@ -1213,7 +1206,7 @@
 static void
 at91dci_device_done(struct usb2_xfer *xfer, usb2_error_t error)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	uint8_t ep_no;
 
 	USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
@@ -1627,7 +1620,7 @@
 static void
 at91dci_device_isoc_fs_enter(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	uint32_t temp;
 	uint32_t nframes;
 
@@ -1709,7 +1702,7 @@
 static void
 at91dci_root_ctrl_close(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 
 	if (sc->sc_root_ctrl.xfer == xfer) {
 		sc->sc_root_ctrl.xfer = NULL;
@@ -1783,7 +1776,7 @@
 	.wHubCharacteristics[0] =
 	(UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) & 0xFF,
 	.wHubCharacteristics[1] =
-	(UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) >> 16,
+	(UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL) >> 8,
 	.bPwrOn2PwrGood = 50,
 	.bHubContrCurrent = 0,
 	.DeviceRemovable = {0},		/* port is removable */
@@ -1813,26 +1806,24 @@
 static void
 at91dci_root_ctrl_start(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 
 	sc->sc_root_ctrl.xfer = xfer;
 
-	usb2_config_td_queue_command(
-	    &sc->sc_config_td, NULL, &at91dci_root_ctrl_task, 0, 0);
+	usb2_bus_roothub_exec(xfer->xroot->bus);
 }
 
 static void
-at91dci_root_ctrl_task(struct at91dci_softc *sc,
-    struct at91dci_config_copy *cc, uint16_t refcount)
+at91dci_root_ctrl_task(struct usb2_bus *bus)
 {
-	at91dci_root_ctrl_poll(sc);
+	at91dci_root_ctrl_poll(AT9100_DCI_BUS2SC(bus));
 }
 
 static void
 at91dci_root_ctrl_done(struct usb2_xfer *xfer,
     struct usb2_sw_transfer *std)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 	uint16_t value;
 	uint16_t index;
 	uint8_t use_polling;
@@ -1853,7 +1844,7 @@
 	value = UGETW(std->req.wValue);
 	index = UGETW(std->req.wIndex);
 
-	use_polling = mtx_owned(xfer->xfer_mtx) ? 1 : 0;
+	use_polling = mtx_owned(xfer->xroot->xfer_mtx) ? 1 : 0;
 
 	/* demultiplex the control request */
 
@@ -2258,7 +2249,7 @@
 static void
 at91dci_root_intr_close(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 
 	if (sc->sc_root_intr.xfer == xfer) {
 		sc->sc_root_intr.xfer = NULL;
@@ -2275,7 +2266,7 @@
 static void
 at91dci_root_intr_start(struct usb2_xfer *xfer)
 {
-	struct at91dci_softc *sc = xfer->usb2_sc;
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
 
 	sc->sc_root_intr.xfer = xfer;
 }
@@ -2305,11 +2296,6 @@
 	xfer = parm->curr_xfer;
 
 	/*
-	 * setup xfer
-	 */
-	xfer->usb2_sc = sc;
-
-	/*
 	 * NOTE: This driver does not use any of the parameters that
 	 * are computed from the following values. Just set some
 	 * reasonable dummies:
@@ -2477,5 +2463,5 @@
 	.get_hw_ep_profile = &at91dci_get_hw_ep_profile,
 	.set_stall = &at91dci_set_stall,
 	.clear_stall = &at91dci_clear_stall,
-	.vbus_interrupt = &at91dci_vbus_interrupt,
+	.roothub_exec = &at91dci_root_ctrl_task,
 };

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci.h#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/usb2/controller/at91dci.h,v 1.1 2008/11/04 02:31:03 alfred Exp $ */
+/* $FreeBSD: src/sys/dev/usb2/controller/at91dci.h,v 1.4 2009/01/13 19:03:33 thompsa Exp $ */
 /*-
  * Copyright (c) 2006 ATMEL
  * Copyright (c) 2007 Hans Petter Selasky <hselasky@freebsd.org>
@@ -34,6 +34,8 @@
 #ifndef _AT9100_DCI_H_
 #define	_AT9100_DCI_H_
 
+#define	AT91_MAX_DEVICES (USB_MIN_DEVICES + 1)
+
 #define	AT91_UDP_FRM 	0x00		/* Frame number register */
 #define	AT91_UDP_FRM_MASK     (0x7FF <<  0)	/* Frame Number as Defined in
 						 * the Packet Field Formats */
@@ -204,8 +206,8 @@
 	LIST_HEAD(, usb2_xfer) sc_interrupt_list_head;
 	struct usb2_sw_transfer sc_root_ctrl;
 	struct usb2_sw_transfer sc_root_intr;
-	struct usb2_config_td sc_config_td;
 
+	struct usb2_device *sc_devices[AT91_MAX_DEVICES];
 	struct resource *sc_io_res;
 	struct resource *sc_irq_res;
 	void   *sc_intr_hdl;
@@ -238,5 +240,6 @@
 void	at91dci_suspend(struct at91dci_softc *sc);
 void	at91dci_resume(struct at91dci_softc *sc);
 void	at91dci_interrupt(struct at91dci_softc *sc);
+void	at91dci_vbus_interrupt(struct at91dci_softc *sc, uint8_t is_on);
 
 #endif					/* _AT9100_DCI_H_ */

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/at91dci_atmelarm.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci_atmelarm.c,v 1.4 2008/12/23 17:36:25 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/at91dci_atmelarm.c,v 1.7 2009/01/13 19:03:33 thompsa Exp $");
 
 /*-
  * Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved.
@@ -34,7 +34,6 @@
 #include <dev/usb2/core/usb2_core.h>
 #include <dev/usb2/core/usb2_busdma.h>
 #include <dev/usb2/core/usb2_process.h>
-#include <dev/usb2/core/usb2_config_td.h>
 #include <dev/usb2/core/usb2_sw_transfer.h>
 #include <dev/usb2/core/usb2_util.h>
 
@@ -73,7 +72,7 @@
 };
 
 static void
-at91_vbus_interrupt(struct at91_udp_softc *sc)
+at91_vbus_poll(struct at91_udp_softc *sc)
 {
 	uint32_t temp;
 	uint8_t vbus_val;
@@ -85,8 +84,7 @@
 	/* just forward it */
 
 	vbus_val = at91_pio_gpio_get(VBUS_BASE, VBUS_MASK);
-	(sc->sc_dci.sc_bus.methods->vbus_interrupt)
-	    (&sc->sc_dci.sc_bus, vbus_val);
+	at91dci_vbus_interrupt(&sc->sc_dci, vbus_val);
 }
 
 static void
@@ -145,9 +143,12 @@
 	sc->sc_dci.sc_pull_down = &at91_udp_pull_down;
 	sc->sc_dci.sc_pull_arg = sc;
 
+	/* initialise some bus fields */
+	sc->sc_dci.sc_bus.parent = dev;
+	sc->sc_dci.sc_bus.devices = sc->sc_dci.sc_devices;
+	sc->sc_dci.sc_bus.devices_max = AT91_MAX_DEVICES;
+
 	/* get all DMA memory */
-
-	sc->sc_dci.sc_bus.parent = dev;
 	if (usb2_bus_mem_alloc_all(&sc->sc_dci.sc_bus,
 	    USB_GET_DMA_TAG(dev), NULL)) {
 		return (ENOMEM);
@@ -205,12 +206,6 @@
 	}
 	device_set_ivars(sc->sc_dci.sc_bus.bdev, &sc->sc_dci.sc_bus);
 
-	err = usb2_config_td_setup(&sc->sc_dci.sc_config_td, sc,
-	    &sc->sc_dci.sc_bus.bus_mtx, NULL, 0, 4);
-	if (err) {
-		device_printf(dev, "could not setup config thread!\n");
-		goto error;
-	}
 #if (__FreeBSD_version >= 700031)
 	err = bus_setup_intr(dev, sc->sc_dci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
 	    NULL, (void *)at91dci_interrupt, sc, &sc->sc_dci.sc_intr_hdl);
@@ -224,10 +219,10 @@
 	}
 #if (__FreeBSD_version >= 700031)
 	err = bus_setup_intr(dev, sc->sc_vbus_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
-	    NULL, (void *)at91_vbus_interrupt, sc, &sc->sc_vbus_intr_hdl);
+	    NULL, (void *)at91_vbus_poll, sc, &sc->sc_vbus_intr_hdl);
 #else
 	err = bus_setup_intr(dev, sc->sc_vbus_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
-	    (void *)at91_vbus_interrupt, sc, &sc->sc_vbus_intr_hdl);
+	    (void *)at91_vbus_poll, sc, &sc->sc_vbus_intr_hdl);
 #endif
 	if (err) {
 		sc->sc_vbus_intr_hdl = NULL;
@@ -241,7 +236,7 @@
 		goto error;
 	} else {
 		/* poll VBUS one time */
-		at91_vbus_interrupt(sc);
+		at91_vbus_poll(sc);
 	}
 	return (0);
 
@@ -305,8 +300,6 @@
 		    sc->sc_dci.sc_io_res);
 		sc->sc_dci.sc_io_res = NULL;
 	}
-	usb2_config_td_unsetup(&sc->sc_dci.sc_config_td);
-
 	usb2_bus_mem_free_all(&sc->sc_dci.sc_bus, NULL);
 
 	/* disable clocks */

==== //depot/projects/trustedbsd/capabilities/src/sys/dev/usb2/controller/ehci2.c#2 (text+ko) ====

@@ -44,7 +44,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/ehci2.c,v 1.6 2009/01/04 00:12:01 alfred Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb2/controller/ehci2.c,v 1.8 2009/01/13 19:03:12 thompsa Exp $");
 
 #include <dev/usb2/include/usb2_standard.h>
 #include <dev/usb2/include/usb2_mfunc.h>
@@ -52,14 +52,11 @@
 #include <dev/usb2/include/usb2_defs.h>
 
 #define	USB_DEBUG_VAR ehcidebug
-#define	usb2_config_td_cc ehci_config_copy
-#define	usb2_config_td_softc ehci_softc
 
 #include <dev/usb2/core/usb2_core.h>
 #include <dev/usb2/core/usb2_debug.h>
 #include <dev/usb2/core/usb2_busdma.h>
 #include <dev/usb2/core/usb2_process.h>
-#include <dev/usb2/core/usb2_config_td.h>
 #include <dev/usb2/core/usb2_sw_transfer.h>
 #include <dev/usb2/core/usb2_transfer.h>
 #include <dev/usb2/core/usb2_device.h>
@@ -99,7 +96,6 @@
 extern struct usb2_pipe_methods ehci_root_ctrl_methods;
 extern struct usb2_pipe_methods ehci_root_intr_methods;
 
-static usb2_config_td_command_t ehci_root_ctrl_task;
 static void ehci_do_poll(struct usb2_bus *bus);
 static void ehci_root_ctrl_poll(ehci_softc_t *sc);
 static void ehci_device_done(struct usb2_xfer *xfer, usb2_error_t error);
@@ -975,7 +971,7 @@
 		return;
 	}
 	/* put transfer on interrupt queue */
-	usb2_transfer_enqueue(&xfer->udev->bus->intr_q, xfer);
+	usb2_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer);
 
 	/* start timeout, if any */
 	if (xfer->timeout != 0) {
@@ -1139,7 +1135,7 @@
 static usb2_error_t
 ehci_non_isoc_done_sub(struct usb2_xfer *xfer)
 {
-	ehci_softc_t *sc = xfer->usb2_sc;
+	ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus);
 	ehci_qtd_t *td;
 	ehci_qtd_t *td_alt_next;
 	uint32_t status;
@@ -1243,7 +1239,7 @@
 
 #if USB_DEBUG
 	if (ehcidebug > 10) {
-		ehci_softc_t *sc = xfer->usb2_sc;
+		ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus);
 
 		ehci_dump_sqtds(sc, xfer->td_transfer_first);
 	}
@@ -1295,7 +1291,7 @@
 ehci_check_transfer(struct usb2_xfer *xfer)
 {
 	struct usb2_pipe_methods *methods = xfer->pipe->methods;
-	ehci_softc_t *sc = xfer->usb2_sc;
+	ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus);
 
 	uint32_t status;
 
@@ -1525,7 +1521,7 @@
 
 	DPRINTF("xfer=%p\n", xfer);
 
-	USB_BUS_LOCK_ASSERT(xfer->udev->bus, MA_OWNED);
+	USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
 
 	/* transfer is transferred */
 	ehci_device_done(xfer, USB_ERR_TIMEOUT);
@@ -1735,11 +1731,11 @@
 
 	DPRINTFN(9, "addr=%d endpt=%d sumlen=%d speed=%d\n",
 	    xfer->address, UE_GET_ADDR(xfer->endpoint),
-	    xfer->sumlen, usb2_get_speed(xfer->udev));
+	    xfer->sumlen, usb2_get_speed(xfer->xroot->udev));
 
 	temp.average = xfer->max_usb2_frame_size;
 	temp.max_frame_size = xfer->max_frame_size;
-	temp.sc = xfer->usb2_sc;
+	temp.sc = EHCI_BUS2SC(xfer->xroot->bus);
 
 	/* toggle the DMA set we are using */
 	xfer->flags_int.curr_dma_set ^= 1;
@@ -1767,7 +1763,7 @@
 		temp.auto_data_toggle = 1;
 	}
 
-	if (usb2_get_speed(xfer->udev) != USB_SPEED_HIGH) {
+	if (usb2_get_speed(xfer->xroot->udev) != USB_SPEED_HIGH) {
 		/* max 3 retries */
 		temp.qtd_status |=
 		    htoehci32(temp.sc, EHCI_QTD_SET_CERR(3));
@@ -1898,12 +1894,12 @@
 	    EHCI_QH_SET_ENDPT(UE_GET_ADDR(xfer->endpoint)) |
 	    EHCI_QH_SET_MPL(xfer->max_packet_size));
 
-	if (usb2_get_speed(xfer->udev) == USB_SPEED_HIGH) {
+	if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) {
 		qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) |
 		    EHCI_QH_DTC | EHCI_QH_SET_NRL(8));
 	} else {
 
-		if (usb2_get_speed(xfer->udev) == USB_SPEED_FULL) {
+		if (usb2_get_speed(xfer->xroot->udev) == USB_SPEED_FULL) {
 			qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL) |
 			    EHCI_QH_DTC);
 		} else {
@@ -1926,8 +1922,8 @@
 	    (EHCI_QH_SET_MULT(xfer->max_packet_count & 3) |
 	    EHCI_QH_SET_CMASK(xfer->usb2_cmask) |
 	    EHCI_QH_SET_SMASK(xfer->usb2_smask) |
-	    EHCI_QH_SET_HUBA(xfer->udev->hs_hub_addr) |
-	    EHCI_QH_SET_PORT(xfer->udev->hs_port_no));
+	    EHCI_QH_SET_HUBA(xfer->xroot->udev->hs_hub_addr) |
+	    EHCI_QH_SET_PORT(xfer->xroot->udev->hs_port_no));
 
 	qh->qh_endphub = htoehci32(temp.sc, qh_endphub);
 	qh->qh_curqtd = htoehci32(temp.sc, 0);
@@ -1955,7 +1951,7 @@
 

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



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