summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/hid.c6
-rw-r--r--sys/dev/usb/ohci.c4
-rw-r--r--sys/dev/usb/ucom.c6
-rw-r--r--sys/dev/usb/ugen.c16
-rw-r--r--sys/dev/usb/uhci.c12
-rw-r--r--sys/dev/usb/uhid.c5
-rw-r--r--sys/dev/usb/uhub.c8
-rw-r--r--sys/dev/usb/ukbd.c6
-rw-r--r--sys/dev/usb/ulpt.c5
-rw-r--r--sys/dev/usb/umodem.c20
-rw-r--r--sys/dev/usb/ums.c23
-rw-r--r--sys/dev/usb/usb.c9
-rw-r--r--sys/dev/usb/usb.h4
-rw-r--r--sys/dev/usb/usb_mem.h6
-rw-r--r--sys/dev/usb/usb_port.h13
-rw-r--r--sys/dev/usb/usb_quirks.c11
-rw-r--r--sys/dev/usb/usb_subr.c16
-rw-r--r--sys/dev/usb/usbcdc.h141
-rw-r--r--sys/dev/usb/usbdevs.h24
-rw-r--r--sys/dev/usb/usbdevs_data.h56
-rw-r--r--sys/dev/usb/usbdi.c71
-rw-r--r--sys/dev/usb/usbdi.h6
-rw-r--r--sys/dev/usb/usbdi_util.c10
-rw-r--r--sys/dev/usb/usbdivar.h8
24 files changed, 287 insertions, 199 deletions
diff --git a/sys/dev/usb/hid.c b/sys/dev/usb/hid.c
index b03f749..ea04a05 100644
--- a/sys/dev/usb/hid.c
+++ b/sys/dev/usb/hid.c
@@ -1,5 +1,5 @@
-/* $NetBSD: hid.c,v 1.5 1998/12/26 12:53:00 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: hid.c,v 1.7 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: hid.c,v 1.5 1999/01/07 23:31:29 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -103,7 +103,7 @@ hid_start_parse(d, len, kindset)
s = malloc(sizeof *s, M_TEMP, M_WAITOK);
memset(s, 0, sizeof *s);
s->start = s->p = d;
- s->end = d + len;
+ s->end = (char *)d + len;
s->kindset = kindset;
return (s);
}
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c
index aa21238..b1d953e 100644
--- a/sys/dev/usb/ohci.c
+++ b/sys/dev/usb/ohci.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ohci.c,v 1.21 1999/01/01 15:15:33 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: ohci.c,v 1.23 1999/01/07 02:06:05 augustss Exp $ */
+/* FreeBSD $Id: ohci.c,v 1.7 1999/01/07 23:31:29 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
diff --git a/sys/dev/usb/ucom.c b/sys/dev/usb/ucom.c
index a17d003..902e976 100644
--- a/sys/dev/usb/ucom.c
+++ b/sys/dev/usb/ucom.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ucom.c,v 1.4 1998/12/30 17:46:20 augustss Exp $ */
-/* FreeBSD $Id: ucom.c,v 1.5 1999/01/07 23:31:31 n_hibma Exp $ */
+/* $NetBSD: ucom.c,v 1.6 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: ucom.c,v 1.6 1999/01/08 17:25:37 eivind Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -58,7 +58,6 @@
#include <sys/select.h>
#include <sys/proc.h>
#include <sys/vnode.h>
-#include <sys/device.h>
#include <sys/poll.h>
#include <dev/usb/usb.h>
@@ -125,7 +124,6 @@ USB_ATTACH(ucom)
static int
ucom_detach(device_t self)
{
- struct ucom_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
diff --git a/sys/dev/usb/ugen.c b/sys/dev/usb/ugen.c
index 341cc93..bd53051 100644
--- a/sys/dev/usb/ugen.c
+++ b/sys/dev/usb/ugen.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ugen.c,v 1.9 1999/01/03 01:03:22 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: ugen.c,v 1.11 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: ugen.c,v 1.4 1999/01/07 23:31:32 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -103,11 +103,6 @@ struct ugen_softc {
int sc_disconnected; /* device is gone */
};
-/* XXX NWH Supposedly in USB_DECLARE_DRIVER_NAME_INIT
-int ugen_match __P((bdevice *, struct cfdata *, void *));
-void ugen_attach __P((bdevice *, struct device *, void *));
-*/
-
int ugenopen __P((dev_t, int, int, struct proc *));
int ugenclose __P((dev_t, int, int, struct proc *p));
int ugenread __P((dev_t, struct uio *uio, int));
@@ -436,7 +431,8 @@ ugenread(dev, uio, flag)
if (reqh == 0)
return (ENOMEM);
while ((n = min(UGEN_BBSIZE, uio->uio_resid)) != 0) {
- DPRINTFN(1, ("ugenread: transfer %d bytes\n", n));
+ DPRINTFN(1, ("ugenread: start transfer %d bytes\n", n));
+ tn = n;
r = usbd_bulk_transfer(reqh, sce->pipeh, 0, buf,
&tn, "ugenrb");
if (r != USBD_NORMAL_COMPLETION) {
@@ -446,6 +442,7 @@ ugenread(dev, uio, flag)
error = EIO;
break;
}
+ DPRINTFN(1, ("ugenread: got %d bytes\n", tn));
error = uiomove(buf, tn, uio);
if (error || tn < n)
break;
@@ -467,7 +464,7 @@ ugenwrite(dev, uio, flag)
{
USB_GET_SC(ugen, UGENUNIT(dev), sc);
int endpt = UGENENDPOINT(dev);
- struct ugen_endpoint *sce = &sc->sc_endpoints[endpt][IN];
+ struct ugen_endpoint *sce = &sc->sc_endpoints[endpt][OUT];
size_t n;
int error = 0;
char buf[UGEN_BBSIZE];
@@ -973,7 +970,6 @@ ugenpoll(dev, events, p)
static int
ugen_detach(device_t self)
{
- struct ugen_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c
index 12554b3..707bfe3 100644
--- a/sys/dev/usb/uhci.c
+++ b/sys/dev/usb/uhci.c
@@ -1,5 +1,5 @@
-/* $NetBSD: uhci.c,v 1.20 1998/12/30 18:06:25 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: uhci.c,v 1.22 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: uhci.c,v 1.6 1999/01/07 23:31:33 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -418,9 +418,9 @@ uhci_dump_td(p)
if (uhci_longtd)
printf(" %b %b,errcnt=%d,actlen=%d pid=%02x,addr=%d,endpt=%d,"
"D=%d,maxlen=%d\n",
- (long)p->td->td_link,
+ (int)p->td->td_link,
"\20\1T\2Q\3VF",
- (long)p->td->td_status,
+ (int)p->td->td_status,
"\20\22BITSTUFF\23CRCTO\24NAK\25BABBLE\26DBUFFER\27"
"STALLED\30ACTIVE\31IOC\32ISO\33LS\36SPD",
UHCI_TD_GET_ERRCNT(p->td->td_status),
@@ -775,7 +775,7 @@ uhci_ii_done(ii, timo)
#endif
/* The transfer is done, compute length and status. */
- /* XXX stop at first inactive to get toggle right. */
+ /* XXX Should stop at first inactive to get toggle right. */
/* XXX Is this correct for control xfers? */
for (len = status = 0, std = ii->stdstart;
std != 0;
@@ -799,7 +799,7 @@ uhci_ii_done(ii, timo)
"status 0x%b\n",
reqh->pipe->device->address,
reqh->pipe->endpoint->edesc->bEndpointAddress,
- (long)status,
+ (int)status,
"\20\22BITSTUFF\23CRCTO\24NAK\25BABBLE\26DBUFFER\27"
"STALLED\30ACTIVE"));
if (status == UHCI_TD_STALLED)
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c
index 06d1c75..1e3c37c 100644
--- a/sys/dev/usb/uhid.c
+++ b/sys/dev/usb/uhid.c
@@ -1,5 +1,5 @@
-/* $NetBSD: uhid.c,v 1.12 1998/12/26 12:53:02 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: uhid.c,v 1.14 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: uhid.c,v 1.5 1999/01/07 23:31:34 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -200,7 +200,6 @@ USB_ATTACH(uhid)
static int
uhid_detach(device_t self)
{
- struct uhid_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
diff --git a/sys/dev/usb/uhub.c b/sys/dev/usb/uhub.c
index 8a44380..40b2a84 100644
--- a/sys/dev/usb/uhub.c
+++ b/sys/dev/usb/uhub.c
@@ -1,5 +1,5 @@
-/* $NetBSD: uhub.c,v 1.13 1998/12/30 18:06:25 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: uhub.c,v 1.14 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: uhub.c,v 1.5 1999/01/07 23:31:34 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -477,7 +477,9 @@ uhub_disconnect(up)
up->device = 0;
/* XXX free */
#if defined(__FreeBSD__)
- device_delete_child(device_get_parent(((struct softc *)dev->softc)->sc_dev), ((struct softc *)dev->softc)->sc_dev);
+ device_delete_child(
+ device_get_parent(((struct softc *)dev->softc)->sc_dev),
+ ((struct softc *)dev->softc)->sc_dev);
#endif
}
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c
index 3ccde1b..4f0bc75 100644
--- a/sys/dev/usb/ukbd.c
+++ b/sys/dev/usb/ukbd.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ukbd.c,v 1.20 1998/12/30 19:25:27 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: ukbd.c,v 1.22 1999/01/09 12:10:36 drochner Exp $ */
+/* FreeBSD $Id: ukbd.c,v 1.5 1999/01/07 23:31:34 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -274,8 +274,6 @@ USB_ATTACH(ukbd)
char devinfo[1024];
#if defined(__NetBSD__)
struct wskbddev_attach_args a;
-#else
- int i;
#endif
sc->sc_disconnected = 1;
diff --git a/sys/dev/usb/ulpt.c b/sys/dev/usb/ulpt.c
index c0d2519..75a8e38 100644
--- a/sys/dev/usb/ulpt.c
+++ b/sys/dev/usb/ulpt.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ulpt.c,v 1.9 1998/12/30 17:46:20 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: ulpt.c,v 1.10 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: ulpt.c,v 1.4 1999/01/07 23:31:35 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -400,7 +400,6 @@ ulptioctl(dev, cmd, data, flag, p)
static int
ulpt_detach(device_t self)
{
- struct ulpt_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
diff --git a/sys/dev/usb/umodem.c b/sys/dev/usb/umodem.c
index 7bc43fc..1faac21 100644
--- a/sys/dev/usb/umodem.c
+++ b/sys/dev/usb/umodem.c
@@ -1,5 +1,4 @@
-/* $NetBSD: umodem.c,v 1.4 1998/12/30 17:46:20 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: umodem.c,v 1.5 1999/01/08 11:58:25 augustss Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -43,7 +42,6 @@
#include <sys/kernel.h>
#include <sys/malloc.h>
#if defined(__NetBSD__)
-#include <sys/device.h>
#include <sys/ioctl.h>
#elif defined(__FreeBSD__)
#include <sys/module.h>
@@ -60,13 +58,12 @@
#include <sys/poll.h>
#include <dev/usb/usb.h>
-#include <dev/usb/usbhid.h>
+#include <dev/usb/usbcdc.h>
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
#include <dev/usb/usbdevs.h>
#include <dev/usb/usb_quirks.h>
-#include <dev/usb/hid.h>
#ifdef USB_DEBUG
#define DPRINTF(x) if (umodemdebug) printf x
@@ -79,7 +76,10 @@ int umodemdebug = 0;
struct umodem_softc {
bdevice sc_dev; /* base device */
- usbd_interface_handle sc_iface; /* interface */
+ usbd_interface_handle sc_ctl; /* control interface */
+ usbd_interface_handle sc_data; /* data interface */
+ uByte cmCaps;
+ uByte acmCaps;
};
void umodem_intr __P((usbd_request_handle, usbd_private_handle, usbd_status));
@@ -111,7 +111,7 @@ USB_ATTACH(umodem)
usb_interface_descriptor_t *id;
char devinfo[1024];
- sc->sc_iface = iface;
+ sc->sc_ctl = iface;
id = usbd_get_interface_descriptor(iface);
usbd_devinfo(uaa->device, 0, devinfo);
USB_ATTACH_SETUP;
@@ -125,18 +125,18 @@ USB_ATTACH(umodem)
static int
umodem_detach(device_t self)
{
- struct umodem_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
device_set_desc(self, NULL);
free(devinfo, M_USB);
-}
+ }
return 0;
}
#endif
#if defined(__FreeBSD__)
-DRIVER_MODULE(umodem, usb, umodem_driver, umodem_devclass, usbd_driver_load, 0);
+DRIVER_MODULE(umodem, usb, umodem_driver, umodem_devclass, usbd_driver_load,0);
#endif
+
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index 4b3c783..f1fd066 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -1,5 +1,5 @@
-/* $NetBSD: ums.c,v 1.18 1998/12/30 17:46:20 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: ums.c,v 1.19 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: ums.c,v 1.6 1999/01/07 23:31:36 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -110,13 +110,14 @@ struct ums_softc {
int flags; /* device configuration */
#define UMS_Z 0x01 /* z direction available */
int nbuttons;
+#define MAX_BUTTONS 7 /* chosen because sc_buttons is u_char */
#if defined(__NetBSD__)
u_char sc_buttons; /* mouse button status */
struct device *sc_wsmousedev;
#elif defined(__FreeBSD__)
u_char qbuf[QUEUE_BUFSIZE];
- u_char dummy[100]; /* just for safety and for now */
+ u_char dummy[100]; /* XXX just for safety and for now */
int qcount, qhead, qtail;
mousehw_t hw;
mousemode_t mode;
@@ -275,12 +276,19 @@ USB_ATTACH(ums)
if ((flags & MOUSE_FLAGS_MASK) != MOUSE_FLAGS) {
sc->sc_loc_z.size = 0; /* Bad Z coord, ignore it */
} else {
+#if defined(__FreeBSD__)
+#ifdef USBVERBOSE
+ printf("%s: Z dir. ignored due to bugs in ums.c\n",
+ USBDEVNAME(sc->sc_dev));
+#endif
+#else
sc->flags |= UMS_Z;
+#endif
}
}
- /* figure out the number of buttons, 7 is an arbitrary limit */
- for (i = 1; i <= 7; i++)
+ /* figure out the number of buttons */
+ for (i = 1; i <= MAX_BUTTONS; i++)
if (!hid_locate(desc, size, HID_USAGE2(HUP_BUTTON, i),
hid_input, &loc_btn, 0))
break;
@@ -404,6 +412,7 @@ ums_intr(reqh, addr, status)
int dx, dy, dz;
u_char buttons = 0;
int i;
+
#if defined(__NetBSD__)
#define UMS_BUT(i) ((i) == 1 || (i) == 2 ? 3 - (i) : i)
#elif defined(__FreeBSD__)
@@ -428,12 +437,10 @@ ums_intr(reqh, addr, status)
if (*ibuf++ != sc->sc_iid)
return;
}
+
dx = hid_get_data(ibuf, &sc->sc_loc_x);
dy = -hid_get_data(ibuf, &sc->sc_loc_y);
dz = hid_get_data(ibuf, &sc->sc_loc_z);
- /* NWH Why are you modifying the button assignments here?
- * That's the purpose of a high level mouse driver
- */
for (i = 0; i < sc->nbuttons; i++)
if (hid_get_data(ibuf, &sc->sc_loc_btn[i]))
buttons |= (1 << UMS_BUT(i));
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index 8af8da3..e214a82 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -1,5 +1,5 @@
-/* $NetBSD: usb.c,v 1.10 1999/01/03 01:00:56 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usb.c,v 1.11 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: usb.c,v 1.5 1999/01/07 23:31:37 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -337,7 +337,7 @@ usbpoll(dev, events, p)
return (revents);
}
-#if defined(__NetBSD__)
+#if 0
int
usb_bus_count()
{
@@ -348,7 +348,9 @@ usb_bus_count()
n++;
return (n);
}
+#endif
+#if defined(__NetBSD__)
usbd_status
usb_get_bus_handle(n, h)
int n;
@@ -402,7 +404,6 @@ usb_needs_explore(bus)
int
usb_detach(device_t self)
{
- struct usb_softc *sc = device_get_softc(self);
char *devinfo = (char *) device_get_desc(self);
if (devinfo) {
diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h
index dae44ba..17f0f0e 100644
--- a/sys/dev/usb/usb.h
+++ b/sys/dev/usb/usb.h
@@ -1,5 +1,5 @@
/* $NetBSD: usb.h,v 1.17 1999/01/03 01:09:18 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* FreeBSD $Id: usb.h,v 1.6 1999/01/07 23:31:37 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -385,7 +385,7 @@ struct usb_ctl_request {
int flags;
/* XXX must match flags in usbdi.h */
#define USBD_SHORT_XFER_OK 0x04
- int actlen;
+ int actlen; /* actual length transferred */
};
struct usb_alt_interface {
diff --git a/sys/dev/usb/usb_mem.h b/sys/dev/usb/usb_mem.h
index 8a49b29..f6ffb96 100644
--- a/sys/dev/usb/usb_mem.h
+++ b/sys/dev/usb/usb_mem.h
@@ -1,5 +1,5 @@
-/* $NetBSD: usb_mem.h,v 1.3 1998/12/26 12:53:03 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usb_mem.h,v 1.4 1999/01/09 12:16:54 augustss Exp $ */
+/* FreeBSD $Id: usb_mem.h,v 1.4 1999/01/07 23:31:38 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -81,8 +81,6 @@ void usb_freemem __P((bus_dma_tag_t, usb_dma_t *));
#include <machine/pmap.h> /* for vtophys */
-
-
typedef void * usb_dma_t;
#define usb_allocmem(t,s,a,p) (*(p) = malloc(s, M_USB, M_NOWAIT), (*(p) == NULL? USBD_NOMEM: USBD_NORMAL_COMPLETION))
diff --git a/sys/dev/usb/usb_port.h b/sys/dev/usb/usb_port.h
index b544a20..fbecbf0 100644
--- a/sys/dev/usb/usb_port.h
+++ b/sys/dev/usb/usb_port.h
@@ -1,5 +1,5 @@
-/* $NetBSD$ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usb_port.h,v 1.5 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: usb_port.h,v 1.8 1999/01/07 23:31:38 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -38,7 +38,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-/* Macro's to cope with the differences between NetBSD and FreeBSD
+
+/*
+ * Macro's to cope with the differences between operating systems.
*/
/*
@@ -55,7 +57,7 @@ typedef struct device bdevice; /* base device */
#define usb_timeout(f, d, t, h) timeout((f), (d), (t))
#define usb_untimeout(f, d, h) untimeout((f), (d))
-#define USB_DECLARE_DRIVER_NAME_INIT(_1, dname, _2...) \
+#define USB_DECLARE_DRIVER_NAME_INIT(_1, dname, _2) \
int __CONCAT(dname,_match) __P((struct device *, struct cfdata *, void *)); \
void __CONCAT(dname,_attach) __P((struct device *, struct device *, void *)); \
\
@@ -118,7 +120,8 @@ __CONCAT(dname,_attach)(parent, self, aux) \
*/
#include "opt_usb.h"
-/* The following is not a type def to avoid error messages
+/*
+ * The following is not a type def to avoid error messages
* because of includes in the wrong order.
*/
#define bdevice device_t
diff --git a/sys/dev/usb/usb_quirks.c b/sys/dev/usb/usb_quirks.c
index 3aebeee..e7c8208 100644
--- a/sys/dev/usb/usb_quirks.c
+++ b/sys/dev/usb/usb_quirks.c
@@ -1,5 +1,5 @@
-/* $NetBSD: usb_quirks.c,v 1.6 1998/12/29 15:23:59 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usb_quirks.c,v 1.8 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: usb_quirks.c,v 1.5 1999/01/07 23:31:39 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -43,13 +43,16 @@
#if defined(__FreeBSD__)
#include <sys/bus.h>
#endif
-#include <sys/select.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbdevs.h>
#include <dev/usb/usb_quirks.h>
+#ifdef USB_DEBUG
+extern int usbdebug;
+#endif
+
struct usbd_quirk_entry {
u_int16_t idVendor;
u_int16_t idProduct;
@@ -82,12 +85,10 @@ usbd_find_quirk(d)
break;
}
#ifdef USB_DEBUG
- { extern int usbdebug;
if (usbdebug && t->quirks.uq_flags)
printf("usbd_find_quirk 0x%04x/0x%04x/%x: %d\n",
UGETW(d->idVendor), UGETW(d->idProduct),
UGETW(d->bcdDevice), t->quirks.uq_flags);
- }
#endif
return (&t->quirks);
}
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index 69035f2..d903c07 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -1,5 +1,5 @@
-/* $NetBSD: usb_subr.c,v 1.24 1999/01/01 15:21:42 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usb_subr.c,v 1.27 1999/01/08 11:58:25 augustss Exp $ */
+/* FreeBSD $Id: usb_subr.c,v 1.6 1999/01/07 23:31:40 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -80,8 +80,6 @@ int usbd_getnewaddr __P((usbd_bus_handle bus));
int usbd_print __P((void *aux, const char *pnp));
int usbd_submatch __P((bdevice *, struct cfdata *cf, void *));
#endif
-usb_interface_descriptor_t *usbd_find_idesc __P((usb_config_descriptor_t *cd,
- int ifaceidx, int altidx));
void usbd_free_iface_data __P((usbd_device_handle dev, int ifcno));
void usbd_kill_pipe __P((usbd_pipe_handle));
usbd_status usbd_probe_and_attach
@@ -725,7 +723,6 @@ usbd_probe_and_attach(parent, dev, port, addr)
int port;
int addr;
{
- bdevice bdev;
struct usb_attach_arg uaa;
usb_device_descriptor_t *dd = &dev->ddesc;
int r, found, i, confi, nifaces;
@@ -735,6 +732,7 @@ usbd_probe_and_attach(parent, dev, port, addr)
/* XXX uaa is a static var. Not a problem as it _should_ be used only
* during probe and attach. Should be changed however
*/
+ bdevice bdev;
bdev = device_add_child(*parent, NULL, -1, &uaa);
if (!bdev) {
printf("%s: Device creation failed\n", USBDEVNAME(dev->bus->bdev));
@@ -1029,14 +1027,6 @@ usbd_submatch(parent, cf, aux)
return 0;
return ((*cf->cf_attach->ca_match)(parent, cf, aux));
}
-
-#elif defined(__FreeBSD__)
-static void
-usbd_bus_print_child(device_t bus, device_t dev)
-{
- /* FIXME print the device address and the configuration used
- */
-}
#endif
usbd_status
diff --git a/sys/dev/usb/usbcdc.h b/sys/dev/usb/usbcdc.h
new file mode 100644
index 0000000..3d3eb81
--- /dev/null
+++ b/sys/dev/usb/usbcdc.h
@@ -0,0 +1,141 @@
+/* $NetBSD: usbcdc.h,v 1.3 1999/01/03 01:09:18 augustss Exp $ */
+/* FreeBSD $Id$ */
+
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (augustss@carlstedt.se) at
+ * Carlstedt Research & Technology.
+ *
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
+ */
+
+#ifndef _USBCDC_H_
+#define _USBCDC_H_
+
+#define UDESCSUB_CDC_HEADER 0
+#define UDESCSUB_CDC_CM 1 /* Call Management */
+#define UDESCSUB_CDC_ACM 2 /* Abstract Control Model */
+#define UDESCSUB_CDC_DLM 3 /* Direct Line Management */
+#define UDESCSUB_CDC_TRF 4 /* Telephone Ringer */
+#define UDESCSUB_CDC_TCLSR 5 /* Telephone Call ... */
+#define UDESCSUB_CDC_UNION 6
+#define UDESCSUB_CDC_CS 7 /* Country Selection */
+#define UDESCSUB_CDC_TOM 8 /* Telephone Operational Modes */
+#define UDESCSUB_CDC_USBT 9 /* USB Terminal */
+
+typedef struct {
+ uByte bLength;
+ uByte bDescriptorType;
+ uByte bDescriptorSubtype;
+ uWord bcdCDC;
+} usb_cdc_header_descriptor_t;
+
+typedef struct {
+ uByte bLength;
+ uByte bDescriptorType;
+ uByte bDescriptorSubtype;
+ uByte bmCapabilities;
+#define USB_CDC_CM_DOES_CM 0x01
+#define USB_CDC_CM_CM_OVER_DATA 0x02
+ uByte bDataInterface;
+} usb_cdc_cm_descriptor_t;
+
+typedef struct {
+ uByte bLength;
+ uByte bDescriptorType;
+ uByte bDescriptorSubtype;
+ uByte bmCapabilities;
+#define USB_CDC_ACM_HAS_FEATURE 0x01
+#define USB_CDC_ACM_HAS_LINE 0x02
+#define USB_CDC_ACM_HAS_BREAK 0x04
+#define USB_CDC_ACM_HAS_NETWORK_CONN 0x08
+} usb_cdc_acm_descriptor_t;
+
+typedef struct {
+ uByte bLength;
+ uByte bDescriptorType;
+ uByte bDescriptorSubtype;
+ uByte bMasterInterface;
+ uByte bSlaveInterface[1];
+} usb_cdc_union_descriptor_t;
+
+#define UCDC_SEND_ENCAPSULATED_COMMAND 0x00
+#define UCDC_GET_ENCAPSULATED_RESPONSE 0x01
+#define UCDC_SET_COMM_FEATURE 0x02
+#define UCDC_GET_COMM_FEATURE 0x03
+#define UCDC_ABSTRACT_STATE 0x01
+#define UCDC_COUNTRY_SETTING 0x02
+#define UCDC_CLEAR_COMM_FEATURE 0x04
+#define UCDC_SET_LINE_CODING 0x20
+#define UCDC_GET_LINE_CODING 0x21
+
+typedef struct {
+ uWord wState;
+#define UCDC_IDLE_SETTING 0x0001
+#define UCDC_DATA_MULTIPLEXED 0x0002
+} usb_cdc_abstract_state_t;
+
+typedef struct {
+ uDWord dwDTERate;
+ uByte bCharFormat;
+#define UCDC_STOP_BIT_1 0
+#define UCDC_STOP_BIT_1_5 1
+#define UCDC_STOP_BIT_2 2
+ uByte bParityType;
+#define UCDC_PARITY_NONE 0
+#define UCDC_PARITY_ODD 1
+#define UCDC_PARITY_EVEN 2
+#define UCDC_PARITY_MARK 3
+#define UCDC_PARITY_SPACE 4
+ uByte bDataBits;
+} usb_cdc_line_state_t;
+
+typedef struct {
+ uByte bmRequestType;
+#define UCDC_NOTIFICATION 0xa1
+ uByte bNotification;
+#define UCDC_N_NETWORK_CONNECTION 0x00
+#define UCDC_N_RESPONSE_AVAILABLE 0x01
+#define UCDC_N_AUX_JACK_HOOK_STATE 0x08
+#define UCDC_N_RING_DETECT 0x09
+#define UCDC_N_SERIAL_STATE 0x20
+#define UCDC_N_CALL_STATE_CHANGED 0x28
+#define UCDC_N_LINE_STATE_CHANGED 0x29
+#define UCDC_N_CONNECTION_SPEED_CHANGE 0x2a
+ uWord wValue;
+ uWord wIndex;
+ uWord wLength;
+ uByte data[16];
+} usb_cdc_notification_t;
+#define UCDC_NOTIFICATION_LENGTH 8
+
+#endif /* _USBCDC_H_ */
diff --git a/sys/dev/usb/usbdevs.h b/sys/dev/usb/usbdevs.h
index 8f4d79d..39fc698 100644
--- a/sys/dev/usb/usbdevs.h
+++ b/sys/dev/usb/usbdevs.h
@@ -1,10 +1,10 @@
-/* $NetBSD$ */
+/* FreeBSD $Id$ */
/*
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
*
* generated from:
- * NetBSD: usbdevs,v 1.14 1998/12/30 03:52:30 augustss Exp
+ * NetBSD: usbdevs,v 1.19 1999/01/08 11:18:38 augustss Exp
*/
/*
@@ -56,11 +56,13 @@
#define USB_VENDOR_UNIXTAR 0x0451 /* Unixtar */
#define USB_VENDOR_GENIUS 0x0458 /* Genius */
#define USB_VENDOR_MICROSOFT 0x045e /* Microsoft */
+#define USB_VENDOR_KENSINGTON 0x0461 /* Kensington */
#define USB_VENDOR_CHERRY 0x046a /* Cherry */
/* Behavior Technology Corporation */
#define USB_VENDOR_BTC 0x046e /* BTC */
#define USB_VENDOR_PHILIPS 0x0471 /* Philips */
#define USB_VENDOR_CONNECTIX 0x0478 /* Connectix */
+#define USB_VENDOR_ACER 0x04a5 /* Acer Peripherals */
#define USB_VENDOR_CYPRESS 0x04b4 /* Cypress Semiconductor */
#define USB_VENDOR_3COM 0x04c1 /* 3Com */
#define USB_VENDOR_SHUTTLE 0x04e6 /* Shuttle Technology */
@@ -92,12 +94,8 @@
/* CATC products */
#define USB_PRODUCT_CATC_ANDROMEDA 0x1237 /* Andromeda hub */
-/* Nanao products */
-#define USB_PRODUCT_NANAO_HUB 0x0000 /* hub */
-#define USB_PRODUCT_NANAO_MONITOR 0x0001 /* monitor */
-
/* Unixtar products */
-#define USB_PRODUCT_UNIXTAR_UTUSB41 0x1446 /* UT-USB41 */
+#define USB_PRODUCT_UNIXTAR_UTUSB41 0x1446 /* UT-USB41 hub */
/* Genius products */
#define USB_PRODUCT_GENIUS_NICHE 0x0001 /* Niche mouse */
@@ -106,6 +104,9 @@
/* Microsoft products */
#define USB_PRODUCT_MICROSOFT_INTELLIMOUSE 0x0009 /* IntelliMouse */
+/* Kensington products */
+#define USB_PRODUCT_KENSINGTON_MOUSEINABOX 0x4d02 /* Mouse-in-a-Box */
+
/* Cherry products */
#define USB_PRODUCT_CHERRY_MY3000KBD 0x0001 /* My3000 keyboard */
#define USB_PRODUCT_CHERRY_MY3000HUB 0x0003 /* My3000 hub */
@@ -120,6 +121,9 @@
/* Connectix products */
#define USB_PRODUCT_CONNECTIX_QUICKCAM 0x0001 /* QuickCam */
+/* Acer products */
+#define USB_PRODUCT_ACER_ACERSCAN_C310U 0x12a6 /* Acerscan C310U */
+
/* Cypress Semiconduuctor products */
#define USB_PRODUCT_CYPRESS_MOUSE 0x0001 /* mouse */
@@ -152,10 +156,6 @@
#define USB_PRODUCT_LOGITECH_M2452 0x0203 /* M2452 keyboard */
#define USB_PRODUCT_LOGITECH_M4848 0x0301 /* M4848 mouse */
-/* EIZO Nanao products */
-#define USB_PRODUCT_EIZONANAO_HUB 0x0000 /* hub */
-#define USB_PRODUCT_EIZONANAO_MONITOR 0x0001 /* monitor */
-
/* Chic Technology products */
#define USB_PRODUCT_CHIC_MOUSE1 0x0001 /* mouse */
@@ -166,7 +166,7 @@
#define USB_PRODUCT_PLX_TESTBOARD 0x9060 /* test board */
/* Inside Out Networks products */
-#define USB_PRODUCT_INSIDEOUT_EDGEPORT4 0x0001 /* EdgePort/4 */
+#define USB_PRODUCT_INSIDEOUT_EDGEPORT4 0x0001 /* EdgePort/4 serial ports */
/* Intel products */
#define USB_PRODUCT_INTEL_TESTBOARD 0x9890 /* 82930 test board */
diff --git a/sys/dev/usb/usbdevs_data.h b/sys/dev/usb/usbdevs_data.h
index f888387..e82aee1 100644
--- a/sys/dev/usb/usbdevs_data.h
+++ b/sys/dev/usb/usbdevs_data.h
@@ -1,12 +1,10 @@
-/* $NetBSD$ */
-
/* FreeBSD $Id$ */
/*
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
*
* generated from:
- * NetBSD: usbdevs,v 1.14 1998/12/30 03:52:30 augustss Exp
+ * NetBSD: usbdevs,v 1.19 1999/01/08 11:18:38 augustss Exp
*/
/*
@@ -72,22 +70,10 @@ struct usb_knowndev usb_knowndevs[] = {
"Andromeda hub",
},
{
- USB_VENDOR_NANAO, USB_PRODUCT_NANAO_HUB,
- 0,
- "Nanao",
- "hub",
- },
- {
- USB_VENDOR_NANAO, USB_PRODUCT_NANAO_MONITOR,
- 0,
- "Nanao",
- "monitor",
- },
- {
USB_VENDOR_UNIXTAR, USB_PRODUCT_UNIXTAR_UTUSB41,
0,
"Unixtar",
- "UT-USB41",
+ "UT-USB41 hub",
},
{
USB_VENDOR_GENIUS, USB_PRODUCT_GENIUS_NICHE,
@@ -108,6 +94,12 @@ struct usb_knowndev usb_knowndevs[] = {
"IntelliMouse",
},
{
+ USB_VENDOR_KENSINGTON, USB_PRODUCT_KENSINGTON_MOUSEINABOX,
+ 0,
+ "Kensington",
+ "Mouse-in-a-Box",
+ },
+ {
USB_VENDOR_CHERRY, USB_PRODUCT_CHERRY_MY3000KBD,
0,
"Cherry",
@@ -144,6 +136,12 @@ struct usb_knowndev usb_knowndevs[] = {
"QuickCam",
},
{
+ USB_VENDOR_ACER, USB_PRODUCT_ACER_ACERSCAN_C310U,
+ 0,
+ "Acer Peripherals",
+ "Acerscan C310U",
+ },
+ {
USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_MOUSE,
0,
"Cypress Semiconductor",
@@ -216,18 +214,6 @@ struct usb_knowndev usb_knowndevs[] = {
"M4848 mouse",
},
{
- USB_VENDOR_EIZONANAO, USB_PRODUCT_EIZONANAO_HUB,
- 0,
- "EIZO Nanao",
- "hub",
- },
- {
- USB_VENDOR_EIZONANAO, USB_PRODUCT_EIZONANAO_MONITOR,
- 0,
- "EIZO Nanao",
- "monitor",
- },
- {
USB_VENDOR_CHIC, USB_PRODUCT_CHIC_MOUSE1,
0,
"Chic Technology",
@@ -249,7 +235,7 @@ struct usb_knowndev usb_knowndevs[] = {
USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4,
0,
"Inside Out Networks",
- "EdgePort/4",
+ "EdgePort/4 serial ports",
},
{
USB_VENDOR_INTEL, USB_PRODUCT_INTEL_TESTBOARD,
@@ -300,6 +286,12 @@ struct usb_knowndev usb_knowndevs[] = {
NULL,
},
{
+ USB_VENDOR_KENSINGTON, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Kensington",
+ NULL,
+ },
+ {
USB_VENDOR_CHERRY, 0,
USB_KNOWNDEV_NOPROD,
"Cherry",
@@ -324,6 +316,12 @@ struct usb_knowndev usb_knowndevs[] = {
NULL,
},
{
+ USB_VENDOR_ACER, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Acer Peripherals",
+ NULL,
+ },
+ {
USB_VENDOR_CYPRESS, 0,
USB_KNOWNDEV_NOPROD,
"Cypress Semiconductor",
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c
index cbd0b1e..e1ed20a 100644
--- a/sys/dev/usb/usbdi.c
+++ b/sys/dev/usb/usbdi.c
@@ -1,5 +1,5 @@
-/* $NetBSD: usbdi.c,v 1.19 1999/01/03 01:00:56 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usbdi.c,v 1.20 1999/01/08 11:58:26 augustss Exp $ */
+/* FreeBSD $Id: usbdi.c,v 1.7 1999/01/07 23:31:42 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -227,55 +227,6 @@ usbd_do_transfer(reqh)
return (pipe->methods->transfer(reqh));
}
-#if 0
-static usbd_status
-usbd_do_transfer(reqh)
- usbd_request_handle reqh;
-{
- usbd_pipe_handle pipe = reqh->pipe;
-
- DPRINTFN(10,("usbd_do_transfer: reqh=%p\n", reqh));
- reqh->done = 0;
- s = splusb();
- if (pipe->state == USBD_PIPE_IDLE ||
- (iface && iface->state == USBD_INTERFACE_IDLE)) {
- splx(s);
- return (USBD_IS_IDLE);
- }
- SIMPLEQ_INSERT_TAIL(&pipe->queue, reqh, next);
- if (pipe->state == USBD_PIPE_ACTIVE &&
- (!iface || iface->state == USBD_INTERFACE_ACTIVE)) {
- r = usbd_start(pipe);
- } else
- r = USBD_NOT_STARTED;
- splx(s);
- return (r);
-}
-
-static usbd_status
-usbd_start(pipe)
- usbd_pipe_handle pipe;
-{
- usbd_request_handle reqh;
-
- DPRINTFN(5, ("usbd_start: pipe=%p, running=%d\n",
- pipe, pipe->running));
- if (pipe->running)
- return (USBD_IN_PROGRESS);
- reqh = SIMPLEQ_FIRST(&pipe->queue);
- if (!reqh) {
- /* XXX */
- printf("usbd_start: pipe empty!\n");
- pipe->running = 0;
- return (USBD_XXX);
- }
- SIMPLEQ_REMOVE_HEAD(&pipe->queue, reqh, next);
- pipe->running = 1;
- pipe->curreqh = reqh;
- return (pipe->methods->transfer(reqh));
-}
-#endif
-
usbd_request_handle
usbd_alloc_request()
{
@@ -707,13 +658,15 @@ usbd_interface_count(dev, count)
return (USBD_NORMAL_COMPLETION);
}
-#if defined(__NetBSD__)
+#if 0
u_int8_t
usbd_bus_count()
{
return (usb_bus_count());
}
+#endif
+#if defined(__NetBSD__)
usbd_status
usbd_get_bus_handle(index, bus)
u_int8_t index;
@@ -934,6 +887,7 @@ usbd_ar_pipe(pipe)
{
usbd_request_handle reqh;
+#if 0
for (;;) {
reqh = SIMPLEQ_FIRST(&pipe->queue);
if (reqh == 0)
@@ -943,6 +897,12 @@ usbd_ar_pipe(pipe)
if (reqh->callback)
reqh->callback(reqh, reqh->priv, reqh->status);
}
+#else
+ while ((reqh = SIMPLEQ_FIRST(&pipe->queue))) {
+ pipe->methods->abort(reqh);
+ SIMPLEQ_REMOVE_HEAD(&pipe->queue, reqh, next);
+ }
+#endif
return (USBD_NORMAL_COMPLETION);
}
@@ -1319,14 +1279,13 @@ usbd_device_set_desc(device_t device, char *devinfo)
device_set_desc(device, desc);
}
-/*
- * A static buffer is a loss if this routine is used from an interrupt,
- * but it's not fatal.
- */
char *
usbd_devname(bdevice *bdev)
{
static char buf[20];
+ /* XXX a static buffer is not exactly a good idea, but the only
+ * thing that goes wrong is the string that is being printed
+ */
sprintf(buf, "%s%d", device_get_name(*bdev), device_get_unit(*bdev));
return (buf);
diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h
index 8f55297..88db91f 100644
--- a/sys/dev/usb/usbdi.h
+++ b/sys/dev/usb/usbdi.h
@@ -1,5 +1,5 @@
-/* $NetBSD: usbdi.h,v 1.15 1999/01/03 01:00:56 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usbdi.h,v 1.16 1999/01/08 11:58:26 augustss Exp $ */
+/* FreeBSD $Id: usbdi.h,v 1.4 1999/01/07 23:31:43 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -175,7 +175,9 @@ usbd_status usbd_endpoint_count
__P((usbd_interface_handle dev, u_int8_t *count));
usbd_status usbd_interface_count
__P((usbd_device_handle dev, u_int8_t *count));
+#if 0
u_int8_t usbd_bus_count __P((void));
+#endif
usbd_status usbd_get_bus_handle __P((u_int8_t index, usbd_bus_handle *bus));
usbd_status usbd_get_root_hub
__P((usbd_bus_handle bus, usbd_device_handle *dev));
diff --git a/sys/dev/usb/usbdi_util.c b/sys/dev/usb/usbdi_util.c
index f94a35e0..fbb7a80 100644
--- a/sys/dev/usb/usbdi_util.c
+++ b/sys/dev/usb/usbdi_util.c
@@ -1,5 +1,5 @@
-/* $NetBSD: usbdi_util.c,v 1.11 1999/01/03 01:00:56 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usbdi_util.c,v 1.13 1999/01/08 11:58:26 augustss Exp $ */
+/* FreeBSD $Id: usbdi_util.c,v 1.5 1999/01/07 23:31:43 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -46,7 +46,6 @@
#if defined(__FreeBSD__)
#include <sys/bus.h>
#endif
-#include <sys/select.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbhid.h>
@@ -488,7 +487,7 @@ usbd_bulk_transfer(reqh, pipe, flags, buf, size, lbl)
flags, USBD_NO_TIMEOUT, usbd_bulk_transfer_cb);
if (r != USBD_NORMAL_COMPLETION)
return (r);
- DPRINTFN(1, ("usbd_bulk_transfer: transfer %d bytes\n", *size));
+ DPRINTFN(1, ("usbd_bulk_transfer: start transfer %d bytes\n", *size));
s = splusb(); /* don't want callback until tsleep() */
r = usbd_transfer(reqh);
if (r != USBD_IN_PROGRESS) {
@@ -502,8 +501,9 @@ usbd_bulk_transfer(reqh, pipe, flags, buf, size, lbl)
return (USBD_INTERRUPTED);
}
usbd_get_request_status(reqh, &priv, &buffer, size, &r);
+ DPRINTFN(1,("usbd_bulk_transfer: transferred %d\n", *size));
if (r != USBD_NORMAL_COMPLETION) {
- DPRINTF(("ugenread: error=%d\n", r));
+ DPRINTF(("usbd_bulk_transfer: error=%d\n", r));
usbd_clear_endpoint_stall(pipe);
}
return (r);
diff --git a/sys/dev/usb/usbdivar.h b/sys/dev/usb/usbdivar.h
index 6dae067..7c89b77 100644
--- a/sys/dev/usb/usbdivar.h
+++ b/sys/dev/usb/usbdivar.h
@@ -1,5 +1,5 @@
-/* $NetBSD: usbdivar.h,v 1.14 1998/12/30 18:06:25 augustss Exp $ */
-/* FreeBSD $Id$ */
+/* $NetBSD: usbdivar.h,v 1.16 1999/01/08 11:58:26 augustss Exp $ */
+/* FreeBSD $Id: usbdivar.h,v 1.6 1999/01/07 23:31:45 n_hibma Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -180,7 +180,6 @@ void usbd_init __P((void));
int usbctlprint __P((void *, const char *));
void usb_delay_ms __P((usbd_bus_handle, u_int));
void usbd_devinfo_vp __P((usbd_device_handle, char *, char *));
-usbd_status usbd_set_config_no __P((usbd_device_handle, int, int));
usbd_status usbd_reset_port __P((usbd_device_handle dev,
int port, usb_port_status_t *ps));
usbd_status usbd_setup_pipe __P((usbd_device_handle dev,
@@ -204,9 +203,6 @@ int usb_bus_count __P((void));
usbd_status usb_get_bus_handle __P((int, usbd_bus_handle *));
void usb_needs_explore __P((usbd_bus_handle));
-
-extern int usbd_use_polling;
-
/* Locator stuff. */
#if defined(__NetBSD__)
OpenPOWER on IntegriCloud