Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Apr 2009 01:37:31 GMT
From:      Julian Elischer <julian@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 160299 for review
Message-ID:  <200904070137.n371bVjD006323@repoman.freebsd.org>

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

Change 160299 by julian@julian_trafmon1 on 2009/04/07 01:37:29

	IFC@160297   loopback changes

Affected files ...

.. //depot/projects/vimage-commit/src/sys/arm/at91/files.at91#5 integrate
.. //depot/projects/vimage-commit/src/sys/compat/ndis/subr_usbd.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files#17 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files.powerpc#7 integrate
.. //depot/projects/vimage-commit/src/sys/dev/dcons/dcons_os.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/sound/usb/uaudio.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/bluetooth/ng_ubt.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/bluetooth/ubtbcmfw.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci_atmelarm.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci_atmelarm.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_mbus.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci_pci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci_atmelarm.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci_pci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci_pci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/usb_controller.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci_atmelarm.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/input/uhid.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/input/ukbd.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/input/ums.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/misc/udbp.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_aue.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_axe.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_cdce.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_cdcereg.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_cue.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_kue.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_rue.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/net/if_udav.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/u3g.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uark.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ubsa.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ubser.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uchcom.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ucycom.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ufoma.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uftdi.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ugensa.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uipaq.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/ulpt.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umct.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umodem.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/umoscom.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uplcom.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/usb_serial.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/usb_serial.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uslcom.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uvisor.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uvscom.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/storage/umass.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/storage/urio.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/storage/ustorage_fs.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_bus.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_compat_linux.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_controller.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_core.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dev.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_endian.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_generic.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_handle_request.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_hid.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_hid.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_hub.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_hub.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_msctest.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_parse.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_parse.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_request.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_request.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_sw_transfer.c#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_sw_transfer.h#2 delete
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_transfer.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_transfer.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_rum.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_uath.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_ural.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_zyd.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_lookup.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/modules/nfsclient/Makefile#5 integrate
.. //depot/projects/vimage-commit/src/sys/modules/usb/Makefile#8 integrate
.. //depot/projects/vimage-commit/src/sys/modules/usb/usb/Makefile#2 integrate
.. //depot/projects/vimage-commit/src/sys/net/bsd_comp.c#4 delete
.. //depot/projects/vimage-commit/src/sys/net/if.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_gif.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_loop.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_ppp.c#7 delete
.. //depot/projects/vimage-commit/src/sys/net/if_ppp.h#3 delete
.. //depot/projects/vimage-commit/src/sys/net/if_pppvar.h#3 delete
.. //depot/projects/vimage-commit/src/sys/net/if_sl.c#4 delete
.. //depot/projects/vimage-commit/src/sys/net/if_slvar.h#3 delete
.. //depot/projects/vimage-commit/src/sys/net/ppp_comp.h#3 delete
.. //depot/projects/vimage-commit/src/sys/net/ppp_deflate.c#4 delete
.. //depot/projects/vimage-commit/src/sys/net/ppp_tty.c#3 delete
.. //depot/projects/vimage-commit/src/sys/net/route.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net/slip.h#3 delete
.. //depot/projects/vimage-commit/src/sys/net/vnet.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/if_ether.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_mcast.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_fw.h#9 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_reass.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_sack.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_subr.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_timewait.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/vinet.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/frag6.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6_src.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/ip6_input.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/scope6.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/ipsec.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/key.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/xform_ah.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/xform_esp.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/xform_ipcomp.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/xform_ipip.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/nfs4client/nfs4_socket.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_krpc.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_socket.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_subs.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/aim/machdep.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/ofw/ofw_real.c#1 branch
.. //depot/projects/vimage-commit/src/sys/sys/param.h#14 integrate
.. //depot/projects/vimage-commit/src/sys/sys/vimage.h#11 integrate

Differences ...

==== //depot/projects/vimage-commit/src/sys/arm/at91/files.at91#5 (text) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/at91/files.at91,v 1.10 2009/02/27 23:12:28 imp Exp $
+# $FreeBSD: src/sys/arm/at91/files.at91,v 1.11 2009/04/05 18:21:40 thompsa Exp $
 arm/arm/cpufunc_asm_arm9.S	standard
 arm/arm/irq_dispatch.S		standard
 arm/at91/at91_machdep.c		standard
@@ -13,12 +13,10 @@
 	dependency	"spibus_if.h"
 arm/at91/at91_tc.c		optional	at91_tc
 arm/at91/at91_twi.c		optional	at91_twi
-arm/at91/at91_udp.c		optional	at91_udp
 arm/at91/if_ate.c		optional	ate
 arm/at91/uart_bus_at91usart.c	optional	uart
 arm/at91/uart_cpu_at91rm9200usart.c	optional	uart
 arm/at91/uart_dev_at91usart.c	optional	uart
-dev/usb/controller/ohci_atmelarm.c	optional	ohci
 #
 # All the boards we support
 #

==== //depot/projects/vimage-commit/src/sys/compat/ndis/subr_usbd.c#5 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.11 2009/03/18 02:38:35 weongyo Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.12 2009/04/05 18:20:38 thompsa Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -93,20 +93,20 @@
 		.endpoint =	0x00,	/* control pipe */
 		.direction =	UE_DIR_ANY,
 		.if_index =	0,
-		.mh.bufsize =	USBD_CTRL_READ_BUFFER_SIZE,
-		.mh.flags =	{ .short_xfer_ok = 1, },
-		.mh.callback =	&usbd_ctrl_callback,
-		.mh.timeout =	5000,	/* 5 seconds */
+		.bufsize =	USBD_CTRL_READ_BUFFER_SIZE,
+		.flags =	{ .short_xfer_ok = 1, },
+		.callback =	&usbd_ctrl_callback,
+		.timeout =	5000,	/* 5 seconds */
 	},
 	[USBD_CTRL_WRITE_PIPE] = {
 		.type =		UE_CONTROL,
 		.endpoint =	0x00,	/* control pipe */
 		.direction =	UE_DIR_ANY,
 		.if_index =	0,
-		.mh.bufsize =	USBD_CTRL_WRITE_BUFFER_SIZE,
-		.mh.flags =	{ .proxy_buffer = 1, },
-		.mh.callback =	&usbd_ctrl_callback,
-		.mh.timeout =	5000,	/* 5 seconds */
+		.bufsize =	USBD_CTRL_WRITE_BUFFER_SIZE,
+		.flags =	{ .proxy_buffer = 1, },
+		.callback =	&usbd_ctrl_callback,
+		.timeout =	5000,	/* 5 seconds */
 	}
 };
 
@@ -674,11 +674,11 @@
 	cfg.type	= UE_GET_XFERTYPE(ep->bmAttributes);
 	cfg.endpoint	= UE_GET_ADDR(ep->bEndpointAddress);
 	cfg.direction	= UE_GET_DIR(ep->bEndpointAddress);
-	cfg.mh.callback	= &usbd_non_isoc_callback;
-	cfg.mh.bufsize	= UGETW(ep->wMaxPacketSize);
-	cfg.mh.flags.proxy_buffer = 1;
+	cfg.callback	= &usbd_non_isoc_callback;
+	cfg.bufsize	= UGETW(ep->wMaxPacketSize);
+	cfg.flags.proxy_buffer = 1;
 	if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN)
-		cfg.mh.flags.short_xfer_ok = 1;
+		cfg.flags.short_xfer_ok = 1;
 
 	status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer,
 	    &cfg, 1, sc, &sc->ndisusb_mtx);

==== //depot/projects/vimage-commit/src/sys/conf/files#17 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1387 2009/03/30 16:01:09 imp Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1388 2009/04/06 00:32:54 thompsa Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1585,7 +1585,6 @@
 dev/usb/usb_parse.c		optional usb
 dev/usb/usb_process.c		optional usb
 dev/usb/usb_request.c		optional usb
-dev/usb/usb_sw_transfer.c	optional usb
 dev/usb/usb_transfer.c		optional usb
 dev/usb/usb_util.c		optional usb
 #

==== //depot/projects/vimage-commit/src/sys/conf/files.powerpc#7 (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.97 2009/04/04 17:05:17 nwhitehorn Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.98 2009/04/05 18:40:15 nwhitehorn Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -111,6 +111,7 @@
 powerpc/mpc85xx/pci_ocp.c	optional	pci mpc85xx
 powerpc/ofw/ofw_pcibus.c	optional	pci aim
 powerpc/ofw/ofw_pcib_pci.c	optional	pci aim
+powerpc/ofw/ofw_real.c		optional	aim
 powerpc/ofw/ofw_syscons.c	optional	sc aim
 powerpc/powermac/ata_kauai.c	optional	powermac ata | powermac atamacio
 powerpc/powermac/ata_macio.c	optional	powermac ata | powermac atamacio

==== //depot/projects/vimage-commit/src/sys/dev/dcons/dcons_os.c#6 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/dcons/dcons_os.c,v 1.26 2009/03/13 02:15:49 imp Exp $
+ * $FreeBSD: src/sys/dev/dcons/dcons_os.c,v 1.28 2009/04/06 13:09:02 ed Exp $
  */
 
 #include <sys/param.h>
@@ -72,7 +72,7 @@
 
 
 #ifndef DCONS_POLL_HZ
-#define DCONS_POLL_HZ	100
+#define DCONS_POLL_HZ	25
 #endif
 
 #ifndef DCONS_BUF_SIZE
@@ -403,8 +403,9 @@
 	switch (type) {
 	case MOD_LOAD:
 		ret = dcons_drv_init(1);
+		if (ret != -1)
+			dcons_attach();
 		if (ret == 0) {
-			dcons_attach();
 			dcons_cnprobe(&dcons_consdev);
 			dcons_cninit(&dcons_consdev);
 			cnadd(&dcons_consdev);

==== //depot/projects/vimage-commit/src/sys/dev/sound/usb/uaudio.c#5 (text+ko) ====

@@ -1,5 +1,5 @@
 /*	$NetBSD: uaudio.c,v 1.91 2004/11/05 17:46:14 kent Exp $	*/
-/*	$FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.41 2009/03/02 05:37:05 thompsa Exp $ */
+/*	$FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.42 2009/04/05 18:20:38 thompsa Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -400,20 +400,20 @@
 		.type = UE_ISOCHRONOUS,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_IN,
-		.mh.bufsize = 0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames = UAUDIO_MINFRAMES,
-		.mh.flags = {.short_xfer_ok = 1,},
-		.mh.callback = &uaudio_chan_record_callback,
+		.bufsize = 0,	/* use "wMaxPacketSize * frames" */
+		.frames = UAUDIO_MINFRAMES,
+		.flags = {.short_xfer_ok = 1,},
+		.callback = &uaudio_chan_record_callback,
 	},
 
 	[1] = {
 		.type = UE_ISOCHRONOUS,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_IN,
-		.mh.bufsize = 0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames = UAUDIO_MINFRAMES,
-		.mh.flags = {.short_xfer_ok = 1,},
-		.mh.callback = &uaudio_chan_record_callback,
+		.bufsize = 0,	/* use "wMaxPacketSize * frames" */
+		.frames = UAUDIO_MINFRAMES,
+		.flags = {.short_xfer_ok = 1,},
+		.callback = &uaudio_chan_record_callback,
 	},
 };
 
@@ -423,20 +423,20 @@
 		.type = UE_ISOCHRONOUS,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_OUT,
-		.mh.bufsize = 0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames = UAUDIO_MINFRAMES,
-		.mh.flags = {.short_xfer_ok = 1,},
-		.mh.callback = &uaudio_chan_play_callback,
+		.bufsize = 0,	/* use "wMaxPacketSize * frames" */
+		.frames = UAUDIO_MINFRAMES,
+		.flags = {.short_xfer_ok = 1,},
+		.callback = &uaudio_chan_play_callback,
 	},
 
 	[1] = {
 		.type = UE_ISOCHRONOUS,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_OUT,
-		.mh.bufsize = 0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames = UAUDIO_MINFRAMES,
-		.mh.flags = {.short_xfer_ok = 1,},
-		.mh.callback = &uaudio_chan_play_callback,
+		.bufsize = 0,	/* use "wMaxPacketSize * frames" */
+		.frames = UAUDIO_MINFRAMES,
+		.flags = {.short_xfer_ok = 1,},
+		.callback = &uaudio_chan_play_callback,
 	},
 };
 
@@ -446,9 +446,9 @@
 		.type = UE_CONTROL,
 		.endpoint = 0x00,	/* Control pipe */
 		.direction = UE_DIR_ANY,
-		.mh.bufsize = (sizeof(struct usb2_device_request) + 4),
-		.mh.callback = &uaudio_mixer_write_cfg_callback,
-		.mh.timeout = 1000,	/* 1 second */
+		.bufsize = (sizeof(struct usb2_device_request) + 4),
+		.callback = &uaudio_mixer_write_cfg_callback,
+		.timeout = 1000,	/* 1 second */
 	},
 };
 
@@ -478,40 +478,40 @@
 		.type = UE_BULK,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_OUT,
-		.mh.bufsize = UMIDI_BULK_SIZE,
-		.mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
-		.mh.callback = &umidi_bulk_write_callback,
+		.bufsize = UMIDI_BULK_SIZE,
+		.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
+		.callback = &umidi_bulk_write_callback,
 	},
 
 	[1] = {
 		.type = UE_BULK,
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_IN,
-		.mh.bufsize = UMIDI_BULK_SIZE,
-		.mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
-		.mh.callback = &umidi_bulk_read_callback,
+		.bufsize = UMIDI_BULK_SIZE,
+		.flags = {.pipe_bof = 1,.short_xfer_ok = 1,},
+		.callback = &umidi_bulk_read_callback,
 	},
 
 	[2] = {
 		.type = UE_CONTROL,
 		.endpoint = 0x00,	/* Control pipe */
 		.direction = UE_DIR_ANY,
-		.mh.bufsize = sizeof(struct usb2_device_request),
-		.mh.flags = {},
-		.mh.callback = &umidi_write_clear_stall_callback,
-		.mh.timeout = 1000,	/* 1 second */
-		.mh.interval = 50,	/* 50ms */
+		.bufsize = sizeof(struct usb2_device_request),
+		.flags = {},
+		.callback = &umidi_write_clear_stall_callback,
+		.timeout = 1000,	/* 1 second */
+		.interval = 50,	/* 50ms */
 	},
 
 	[3] = {
 		.type = UE_CONTROL,
 		.endpoint = 0x00,	/* Control pipe */
 		.direction = UE_DIR_ANY,
-		.mh.bufsize = sizeof(struct usb2_device_request),
-		.mh.flags = {},
-		.mh.callback = &umidi_read_clear_stall_callback,
-		.mh.timeout = 1000,	/* 1 second */
-		.mh.interval = 50,	/* 50ms */
+		.bufsize = sizeof(struct usb2_device_request),
+		.flags = {},
+		.callback = &umidi_read_clear_stall_callback,
+		.timeout = 1000,	/* 1 second */
+		.interval = 50,	/* 50ms */
 	},
 };
 

==== //depot/projects/vimage-commit/src/sys/dev/usb/bluetooth/ng_ubt.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  * SUCH DAMAGE.
  *
  * $Id: ng_ubt.c,v 1.16 2003/10/10 19:15:06 max Exp $
- * $FreeBSD: src/sys/dev/usb/bluetooth/ng_ubt.c,v 1.3 2009/03/02 05:37:05 thompsa Exp $
+ * $FreeBSD: src/sys/dev/usb/bluetooth/ng_ubt.c,v 1.5 2009/04/05 18:20:38 thompsa Exp $
  */
 
 /*
@@ -276,9 +276,9 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_OUT,
 		.if_index = 	0,
-		.mh.bufsize =	UBT_BULK_WRITE_BUFFER_SIZE,
-		.mh.flags =	{ .pipe_bof = 1, .force_short_xfer = 1, },
-		.mh.callback =	&ubt_bulk_write_callback,
+		.bufsize =	UBT_BULK_WRITE_BUFFER_SIZE,
+		.flags =	{ .pipe_bof = 1, .force_short_xfer = 1, },
+		.callback =	&ubt_bulk_write_callback,
 	},
 	/* Incoming bulk transfer - ACL packets */
 	[UBT_IF_0_BULK_DT_RD] = {
@@ -286,9 +286,9 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_IN,
 		.if_index = 	0,
-		.mh.bufsize =	UBT_BULK_READ_BUFFER_SIZE,
-		.mh.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1, },
-		.mh.callback =	&ubt_bulk_read_callback,
+		.bufsize =	UBT_BULK_READ_BUFFER_SIZE,
+		.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1, },
+		.callback =	&ubt_bulk_read_callback,
 	},
 	/* Incoming interrupt transfer - HCI events */
 	[UBT_IF_0_INTR_DT_RD] = {
@@ -296,9 +296,9 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_IN,
 		.if_index = 	0,
-		.mh.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1, },
-		.mh.bufsize =	UBT_INTR_BUFFER_SIZE,
-		.mh.callback =	&ubt_intr_read_callback,
+		.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1, },
+		.bufsize =	UBT_INTR_BUFFER_SIZE,
+		.callback =	&ubt_intr_read_callback,
 	},
 	/* Outgoing control transfer - HCI commands */
 	[UBT_IF_0_CTRL_DT_WR] = {
@@ -306,9 +306,9 @@
 		.endpoint =	0x00,	/* control pipe */
 		.direction =	UE_DIR_ANY,
 		.if_index = 	0,
-		.mh.bufsize =	UBT_CTRL_BUFFER_SIZE,
-		.mh.callback =	&ubt_ctrl_write_callback,
-		.mh.timeout =	5000,	/* 5 seconds */
+		.bufsize =	UBT_CTRL_BUFFER_SIZE,
+		.callback =	&ubt_ctrl_write_callback,
+		.timeout =	5000,	/* 5 seconds */
 	},
 
 	/*
@@ -321,10 +321,10 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_IN,
 		.if_index = 	1,
-		.mh.bufsize =	0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames =	UBT_ISOC_NFRAMES,
-		.mh.flags =	{ .short_xfer_ok = 1, },
-		.mh.callback =	&ubt_isoc_read_callback,
+		.bufsize =	0,	/* use "wMaxPacketSize * frames" */
+		.frames =	UBT_ISOC_NFRAMES,
+		.flags =	{ .short_xfer_ok = 1, },
+		.callback =	&ubt_isoc_read_callback,
 	},
 	/* Incoming isochronous transfer #2 - SCO packets */
 	[UBT_IF_1_ISOC_DT_RD2] = {
@@ -332,10 +332,10 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_IN,
 		.if_index = 	1,
-		.mh.bufsize =	0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames =	UBT_ISOC_NFRAMES,
-		.mh.flags =	{ .short_xfer_ok = 1, },
-		.mh.callback =	&ubt_isoc_read_callback,
+		.bufsize =	0,	/* use "wMaxPacketSize * frames" */
+		.frames =	UBT_ISOC_NFRAMES,
+		.flags =	{ .short_xfer_ok = 1, },
+		.callback =	&ubt_isoc_read_callback,
 	},
 	/* Outgoing isochronous transfer #1 - SCO packets */
 	[UBT_IF_1_ISOC_DT_WR1] = {
@@ -343,10 +343,10 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_OUT,
 		.if_index = 	1,
-		.mh.bufsize =	0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames =	UBT_ISOC_NFRAMES,
-		.mh.flags =	{ .short_xfer_ok = 1, },
-		.mh.callback =	&ubt_isoc_write_callback,
+		.bufsize =	0,	/* use "wMaxPacketSize * frames" */
+		.frames =	UBT_ISOC_NFRAMES,
+		.flags =	{ .short_xfer_ok = 1, },
+		.callback =	&ubt_isoc_write_callback,
 	},
 	/* Outgoing isochronous transfer #2 - SCO packets */
 	[UBT_IF_1_ISOC_DT_WR2] = {
@@ -354,10 +354,10 @@
 		.endpoint =	UE_ADDR_ANY,
 		.direction =	UE_DIR_OUT,
 		.if_index = 	1,
-		.mh.bufsize =	0,	/* use "wMaxPacketSize * frames" */
-		.mh.frames =	UBT_ISOC_NFRAMES,
-		.mh.flags =	{ .short_xfer_ok = 1, },
-		.mh.callback =	&ubt_isoc_write_callback,
+		.bufsize =	0,	/* use "wMaxPacketSize * frames" */
+		.frames =	UBT_ISOC_NFRAMES,
+		.flags =	{ .short_xfer_ok = 1, },
+		.callback =	&ubt_isoc_write_callback,
 	},
 };
 
@@ -426,6 +426,7 @@
 	struct usb2_attach_arg		*uaa = device_get_ivars(dev);
 	struct ubt_softc		*sc = device_get_softc(dev);
 	struct usb2_endpoint_descriptor	*ed;
+	struct usb2_interface_descriptor *id;
 	uint16_t			wMaxPacketSize;
 	uint8_t				alt_index, i, j;
 	uint8_t				iface_index[2] = { 0, 1 };
@@ -496,31 +497,34 @@
 	alt_index = 0;
 	i = 0;
 	j = 0;
+	ed = NULL;
 
-	/* Search through all the descriptors looking for bidir mode */
-	while (1) {
-		uint16_t temp;
+	/* 
+	 * Search through all the descriptors looking for the largest
+	 * packet size:
+	 */
+	while ((ed = (struct usb2_endpoint_descriptor *)usb2_desc_foreach(
+	    usb2_get_config_descriptor(uaa->device), 
+	    (struct usb2_descriptor *)ed))) {
 
-		ed = usb2_find_edesc(usb2_get_config_descriptor(uaa->device),
-				1, i, j);
-		if (ed == NULL) {
-			if (j != 0) {
-				/* next interface */
-				j = 0;
-				i ++;
-				continue;
-			}
+		if ((ed->bDescriptorType == UDESC_INTERFACE) &&
+		    (ed->bLength >= sizeof(*id))) {
+			id = (struct usb2_interface_descriptor *)ed;
+			i = id->bInterfaceNumber;
+			j = id->bAlternateSetting;
+		}
 
-			break;	/* end of interfaces */
-		}
+		if ((ed->bDescriptorType == UDESC_ENDPOINT) &&
+		    (ed->bLength >= sizeof(*ed)) &&
+		    (i == 1)) {
+			uint16_t temp;
 
-		temp = UGETW(ed->wMaxPacketSize);
-		if (temp > wMaxPacketSize) {
-			wMaxPacketSize = temp;
-			alt_index = i;
+			temp = UGETW(ed->wMaxPacketSize);
+			if (temp > wMaxPacketSize) {
+				wMaxPacketSize = temp;
+				alt_index = j;
+			}
 		}
-
-		j ++;
 	}
 
 	/* Set alt configuration on interface #1 only if we found it */

==== //depot/projects/vimage-commit/src/sys/dev/usb/bluetooth/ubtbcmfw.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  * SUCH DAMAGE.
  *
  * $Id: ubtbcmfw.c,v 1.3 2003/10/10 19:15:08 max Exp $
- * $FreeBSD: src/sys/dev/usb/bluetooth/ubtbcmfw.c,v 1.3 2009/03/02 05:37:05 thompsa Exp $
+ * $FreeBSD: src/sys/dev/usb/bluetooth/ubtbcmfw.c,v 1.4 2009/04/05 18:20:38 thompsa Exp $
  */
 
 #include "usbdevs.h"
@@ -118,10 +118,10 @@
 		.endpoint =	0x02,	/* fixed */
 		.direction =	UE_DIR_OUT,
 		.if_index =	UBTBCMFW_IFACE_IDX,
-		.mh.bufsize =	UBTBCMFW_BSIZE,
-		.mh.flags =	{ .pipe_bof = 1, .force_short_xfer = 1,
+		.bufsize =	UBTBCMFW_BSIZE,
+		.flags =	{ .pipe_bof = 1, .force_short_xfer = 1,
 				  .proxy_buffer = 1, },
-		.mh.callback =	&ubtbcmfw_write_callback,
+		.callback =	&ubtbcmfw_write_callback,
 	},
 
 	[UBTBCMFW_INTR_DT_RD] = {
@@ -129,10 +129,10 @@
 		.endpoint =	0x01,	/* fixed */
 		.direction =	UE_DIR_IN,
 		.if_index =	UBTBCMFW_IFACE_IDX,
-		.mh.bufsize =	UBTBCMFW_BSIZE,
-		.mh.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1,
+		.bufsize =	UBTBCMFW_BSIZE,
+		.flags =	{ .pipe_bof = 1, .short_xfer_ok = 1,
 				  .proxy_buffer = 1, },
-		.mh.callback =	&ubtbcmfw_read_callback,
+		.callback =	&ubtbcmfw_read_callback,
 	},
 };
 

==== //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.c#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/controller/at91dci.c,v 1.6 2009/03/20 21:57:54 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/controller/at91dci.c,v 1.11 2009/04/06 00:32:54 thompsa Exp $");
 
 /*-
  * Copyright (c) 2007-2008 Hans Petter Selasky. All rights reserved.
@@ -38,7 +38,7 @@
 
 /*
  * NOTE: The "fifo_bank" is not reset in hardware when the endpoint is
- * reset !
+ * reset.
  *
  * NOTE: When the chip detects BUS-reset it will also reset the
  * endpoints, Function-address and more.
@@ -54,7 +54,6 @@
 #include <dev/usb/usb_debug.h>
 #include <dev/usb/usb_busdma.h>
 #include <dev/usb/usb_process.h>
-#include <dev/usb/usb_sw_transfer.h>
 #include <dev/usb/usb_transfer.h>
 #include <dev/usb/usb_device.h>
 #include <dev/usb/usb_hub.h>
@@ -88,8 +87,6 @@
 struct usb2_pipe_methods at91dci_device_ctrl_methods;
 struct usb2_pipe_methods at91dci_device_intr_methods;
 struct usb2_pipe_methods at91dci_device_isoc_fs_methods;
-struct usb2_pipe_methods at91dci_root_ctrl_methods;
-struct usb2_pipe_methods at91dci_root_intr_methods;
 
 static at91dci_cmd_t at91dci_setup_rx;
 static at91dci_cmd_t at91dci_data_rx;
@@ -97,12 +94,9 @@
 static at91dci_cmd_t at91dci_data_tx_sync;
 static void	at91dci_device_done(struct usb2_xfer *, usb2_error_t);
 static void	at91dci_do_poll(struct usb2_bus *);
-static void	at91dci_root_ctrl_poll(struct at91dci_softc *);
 static void	at91dci_standard_done(struct usb2_xfer *);
+static void	at91dci_root_intr(struct at91dci_softc *sc);
 
-static usb2_sw_transfer_func_t at91dci_root_intr_done;
-static usb2_sw_transfer_func_t at91dci_root_ctrl_done;
-
 /*
  * NOTE: Some of the bits in the CSR register have inverse meaning so
  * we need a helper macro when acknowledging events:
@@ -256,10 +250,8 @@
 }
 
 static void
-at91dci_wakeup_peer(struct usb2_xfer *xfer)
+at91dci_wakeup_peer(struct at91dci_softc *sc)
 {
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
-
 	if (!(sc->sc_flags.status_suspend)) {
 		return;
 	}
@@ -305,14 +297,11 @@
 	    AT91_UDP_CSR_TXCOMP);
 
 	if (!(csr & AT91_UDP_CSR_RXSETUP)) {
-		/* abort any ongoing transfer */
-		if (!td->did_stall) {
-			DPRINTFN(5, "stalling\n");
-			temp |= AT91_UDP_CSR_FORCESTALL;
-			td->did_stall = 1;
-		}
 		goto not_complete;
 	}
+	/* clear did stall */
+	td->did_stall = 0;
+
 	/* get the packet byte count */
 	count = (csr & AT91_UDP_CSR_RXBYTECNT) >> 16;
 
@@ -362,6 +351,13 @@
 	return (0);			/* complete */
 
 not_complete:
+	/* abort any ongoing transfer */
+	if (!td->did_stall) {
+		DPRINTFN(5, "stalling\n");
+		temp |= AT91_UDP_CSR_FORCESTALL;
+		td->did_stall = 1;
+	}
+
 	/* clear interrupts, if any */
 	if (temp) {
 		DPRINTFN(5, "clearing 0x%08x\n", temp);
@@ -732,9 +728,7 @@
 			sc->sc_flags.status_vbus = 1;
 
 			/* complete root HUB interrupt endpoint */
-
-			usb2_sw_transfer(&sc->sc_root_intr,
-			    &at91dci_root_intr_done);
+			at91dci_root_intr(sc);
 		}
 	} else {
 		if (sc->sc_flags.status_vbus) {
@@ -745,9 +739,7 @@
 			sc->sc_flags.change_connect = 1;
 
 			/* complete root HUB interrupt endpoint */
-
-			usb2_sw_transfer(&sc->sc_root_intr,
-			    &at91dci_root_intr_done);
+			at91dci_root_intr(sc);
 		}
 	}
 	USB_BUS_UNLOCK(&sc->sc_bus);
@@ -824,9 +816,7 @@
 			}
 		}
 		/* complete root HUB interrupt endpoint */
-
-		usb2_sw_transfer(&sc->sc_root_intr,
-		    &at91dci_root_intr_done);
+		at91dci_root_intr(sc);
 	}
 	/* check for any endpoint interrupts */
 
@@ -1066,31 +1056,17 @@
 }
 
 static void
-at91dci_root_intr_done(struct usb2_xfer *xfer,
-    struct usb2_sw_transfer *std)
+at91dci_root_intr(struct at91dci_softc *sc)
 {
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
-
 	DPRINTFN(9, "\n");
 
 	USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
 
-	if (std->state != USB_SW_TR_PRE_DATA) {
-		if (std->state == USB_SW_TR_PRE_CALLBACK) {
-			/* transfer transferred */
-			at91dci_device_done(xfer, std->err);
-		}
-		goto done;
-	}
-	/* setup buffer */
-	std->ptr = sc->sc_hub_idata;
-	std->len = sizeof(sc->sc_hub_idata);
-
 	/* set port bit */
 	sc->sc_hub_idata[0] = 0x02;	/* we only have one port */
 
-done:
-	return;
+	uhub_root_intr(&sc->sc_bus, sc->sc_hub_idata,
+	    sizeof(sc->sc_hub_idata));
 }
 
 static usb2_error_t
@@ -1484,7 +1460,6 @@
 
 	USB_BUS_LOCK(&sc->sc_bus);
 	at91dci_interrupt_poll(sc);
-	at91dci_root_ctrl_poll(sc);
 	USB_BUS_UNLOCK(&sc->sc_bus);
 }
 
@@ -1523,8 +1498,6 @@
 	.close = at91dci_device_bulk_close,
 	.enter = at91dci_device_bulk_enter,
 	.start = at91dci_device_bulk_start,
-	.enter_is_cancelable = 1,
-	.start_is_cancelable = 1,
 };
 
 /*------------------------------------------------------------------------*
@@ -1562,8 +1535,6 @@
 	.close = at91dci_device_ctrl_close,
 	.enter = at91dci_device_ctrl_enter,
 	.start = at91dci_device_ctrl_start,
-	.enter_is_cancelable = 1,
-	.start_is_cancelable = 1,
 };
 
 /*------------------------------------------------------------------------*
@@ -1601,8 +1572,6 @@
 	.close = at91dci_device_intr_close,
 	.enter = at91dci_device_intr_enter,
 	.start = at91dci_device_intr_start,
-	.enter_is_cancelable = 1,
-	.start_is_cancelable = 1,
 };
 
 /*------------------------------------------------------------------------*
@@ -1685,38 +1654,14 @@
 	.close = at91dci_device_isoc_fs_close,
 	.enter = at91dci_device_isoc_fs_enter,
 	.start = at91dci_device_isoc_fs_start,
-	.enter_is_cancelable = 1,
-	.start_is_cancelable = 1,
 };
 
 /*------------------------------------------------------------------------*
  * at91dci root control support
  *------------------------------------------------------------------------*
- * simulate a hardware HUB by handling
- * all the necessary requests
+ * Simulate a hardware HUB by handling all the necessary requests.
  *------------------------------------------------------------------------*/
 
-static void
-at91dci_root_ctrl_open(struct usb2_xfer *xfer)
-{
-	return;
-}
-
-static void
-at91dci_root_ctrl_close(struct usb2_xfer *xfer)
-{
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
-
-	if (sc->sc_root_ctrl.xfer == xfer) {
-		sc->sc_root_ctrl.xfer = NULL;
-	}
-	at91dci_device_done(xfer, USB_ERR_CANCELLED);
-}
-
-/*
- * USB descriptors for the virtual Root HUB:
- */
-
 static const struct usb2_device_descriptor at91dci_devd = {
 	.bLength = sizeof(struct usb2_device_descriptor),
 	.bDescriptorType = UDESC_DEVICE,
@@ -1761,7 +1706,6 @@
 		.bInterfaceSubClass = UISUBCLASS_HUB,
 		.bInterfaceProtocol = UIPROTO_HSHUBSTT,
 	},
-
 	.endpd = {
 		.bLength = sizeof(struct usb2_endpoint_descriptor),
 		.bDescriptorType = UDESC_ENDPOINT,
@@ -1801,44 +1745,15 @@
 USB_MAKE_STRING_DESC(STRING_PRODUCT, at91dci_product);
 
 static void
-at91dci_root_ctrl_enter(struct usb2_xfer *xfer)
+at91dci_roothub_exec(struct usb2_bus *bus)
 {
-	return;
-}
-
-static void
-at91dci_root_ctrl_start(struct usb2_xfer *xfer)
-{
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
-
-	sc->sc_root_ctrl.xfer = xfer;
-
-	usb2_bus_roothub_exec(xfer->xroot->bus);
-}
-
-static void
-at91dci_root_ctrl_task(struct usb2_bus *bus)
-{
-	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 = AT9100_DCI_BUS2SC(xfer->xroot->bus);
+	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus);
+	struct usb2_sw_transfer *std = &sc->sc_bus.roothub_req;
 	uint16_t value;
 	uint16_t index;
 
 	USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
 
-	if (std->state != USB_SW_TR_SETUP) {
-		if (std->state == USB_SW_TR_PRE_CALLBACK) {
-			/* transfer transferred */
-			at91dci_device_done(xfer, std->err);
-		}
-		goto done;
-	}
 	/* buffer reset */
 	std->ptr = USB_ADD_BYTES(&sc->sc_hub_temp, 0);
 	std->len = 0;
@@ -2097,7 +2012,7 @@
 
 	switch (value) {
 	case UHF_PORT_SUSPEND:
-		at91dci_wakeup_peer(xfer);
+		at91dci_wakeup_peer(sc);
 		break;
 
 	case UHF_PORT_ENABLE:
@@ -2221,67 +2136,6 @@
 }
 
 static void
-at91dci_root_ctrl_poll(struct at91dci_softc *sc)
-{
-	usb2_sw_transfer(&sc->sc_root_ctrl,
-	    &at91dci_root_ctrl_done);
-}
-
-struct usb2_pipe_methods at91dci_root_ctrl_methods =
-{
-	.open = at91dci_root_ctrl_open,
-	.close = at91dci_root_ctrl_close,
-	.enter = at91dci_root_ctrl_enter,
-	.start = at91dci_root_ctrl_start,
-	.enter_is_cancelable = 1,
-	.start_is_cancelable = 0,
-};
-
-/*------------------------------------------------------------------------*
- * at91dci root interrupt support
- *------------------------------------------------------------------------*/
-static void
-at91dci_root_intr_open(struct usb2_xfer *xfer)
-{
-	return;
-}
-
-static void
-at91dci_root_intr_close(struct usb2_xfer *xfer)
-{
-	struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
-

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



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