Commit Graph

65 Commits

Author SHA1 Message Date
augustss
481e8339dc Change the USB event mechanism to include more information about devices
and drivers.  Partly from FreeBSD.
2000-02-02 07:33:59 +00:00
augustss
e7f114ba6d Make sure to use delay() in usb_delay_ms() while cold booting. 2000-02-01 17:46:17 +00:00
augustss
c3716a6bb9 Add an argument to usbd_open_pipe_intr() to specify the polling interval
for an interrupt pipe in case we don't what what the descriptor suggests.
2000-01-19 00:23:58 +00:00
augustss
cc381bcb7c Add usbd_reload_device_desc() to get the device descriptor again from a device.
Useful if e.g. downloading firmware updates the revision number.
2000-01-16 23:11:43 +00:00
augustss
33cf622176 Add another debug printf. 1999-12-18 22:51:58 +00:00
augustss
fc03707eef Add even more debug output. 1999-12-15 23:00:05 +00:00
augustss
0164856f79 More debug printfs. 1999-12-15 20:05:08 +00:00
augustss
8111aaeef9 Cosmetics and a couple of diagnostic messages. 1999-12-06 21:06:59 +00:00
augustss
c156651eb9 Avoid the special when disconnecting devices with no config descriptor.
It was wrong.
1999-11-24 23:14:39 +00:00
augustss
3386c68b46 Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma. 1999-11-18 23:32:25 +00:00
augustss
70ad5362d4 Fix a pointer test that I got wrong in the big code cleanup. 1999-11-16 22:15:50 +00:00
augustss
b019d68caa Some minor changes from OpenBSD. 1999-11-16 12:04:28 +00:00
augustss
0d2fabdf26 A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF
1999-11-12 00:34:57 +00:00
augustss
03a522d3c1 Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
the USB stack compiles on FreeBSD again.
1999-10-13 08:10:55 +00:00
augustss
11403b6ec1 Fix some bugs in USB controller detach code. 1999-10-12 20:02:47 +00:00
augustss
df435c83b2 Add an event mechanism so that a userland process can watch devices come
and go.
1999-10-12 11:54:56 +00:00
augustss
740ae27d5a Add a quirk for devices that lie about how they are powered. 1999-10-11 09:16:39 +00:00
augustss
a4457e18b3 More DIAGNOSTIC paranoia. 1999-09-16 19:20:34 +00:00
augustss
7049e8eb1b Add preliminary (untested) code for detaching the USB host controller
(needed for CardBus based controllers).
1999-09-15 10:25:30 +00:00
augustss
ff6a476e6c Rearrange the code a little so we can decide if we are in process
or interrupt context in a reliable way.  Mainly used for DIAGNOSTIC.
1999-09-13 19:18:17 +00:00
augustss
2aadcb5f47 Change the internal API to allow DMA buffers to be pre-allocated by
the device driver instead of happening automagically in the HC driver.
This affects both the HC-USBD interface as well as the USBD-device
interface.
This change will allow DMA buffers to be reused e.g. in isochronous
traffic.

Add isochronous support to the UHCI driver (not for OHCI yet).
1999-09-09 12:26:43 +00:00
augustss
2425433ff6 Change some printf to DPRINTF for consistency. From Nick Hibma, FreeBSD. 1999-09-05 21:22:38 +00:00
augustss
24251055bc Change the way the `struct device' base part of all driver softc are
declared and accessed to make it more portable.  Idea from Nick Hibma, FreeBSD.
No functional changes.
1999-09-05 19:32:18 +00:00
thorpej
04cd1cc8ee Make usbd_errstr() always return a useful error message; it's not like
the strings are that big.
1999-08-29 19:41:27 +00:00
augustss
036a9c6974 Change some 'struct device' to 'bdevice'. From FreeBSD. 1999-08-28 21:42:35 +00:00
augustss
f747201099 Move more of the transfer completion processing to HC independent code.
Fix some problems with transfer abort & timeout.
1999-08-22 20:12:39 +00:00
augustss
c0f0486836 Add a utility function, usbd_errstr(), to print error strings. From FreeBSD. 1999-08-19 19:51:36 +00:00
augustss
54adf47f36 Redo the UHCI data toggle handling.
Make sure data toggles get synchronized on open and
when clearing an endpoint stall.
1999-08-17 20:59:04 +00:00
augustss
3016e1ebe0 Make some small changes to make it compile on OpenBSD. 1999-08-17 16:06:20 +00:00
augustss
290c03447b Change the way transfers are dequeued so thet we know that they
are removed from the queue before being deallocated.
1999-08-16 20:24:33 +00:00
augustss
b8b1e35ece Some changes from FreeBSD (no functional differences). 1999-08-14 14:49:31 +00:00
augustss
b177c7a397 Totally redo the way device detach is done. It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.
1999-06-30 06:44:22 +00:00
augustss
475ed73e46 Get rid of a bunch of code that was part of an old USBDI proposal, but that
is unused in our USB stack.

Once upon a time, when I started writing the USB stack for NetBSD, there
was an effort to make a standard for how USB device drivers should interact
with the rest of the USB stack.  This effort had contributors from just
about all Un*x camps (but not Micro$oft :).  I based my design on one of their
early proposals since I thought it would be a good idea if we could all
share device drivers with a minimum effort.  Shortly after I started my work
all the free Un*x people were thrown out of the USBDI work since we did not
pay the USB membership fee.  Well, some time has passed now and the work of
the standardization group is almost public again.  But alas, the new standard
has grown to be a monster!  I do not want to have this as the basis for the
*BSD USB stack; it is far too complicated.
So, since we are not even close to being compilant with the standard, I've
thrown out some old baggage.
1999-06-14 17:09:57 +00:00
augustss
011be0080e Add vendor/product/release locators. Added in frustration as my HID
devices appeared as different devices after some plugging and unplugging. :-)
1999-05-16 13:51:05 +00:00
augustss
e16867970c More DIAGNOSTIC tests. 1999-05-13 23:29:41 +00:00
augustss
d11fcba216 More debug. 1999-05-09 14:37:18 +00:00
augustss
0cdb143eaf Initialize pipe structure properly. From Joel Chen <jchen@nc.com> 1999-03-18 12:08:43 +00:00
augustss
f963dc8ddb Some minor updates from FreeBSD. 1999-01-10 19:13:15 +00:00
augustss
875aa92d2c Various little fixes from the FreeBSD version. 1999-01-08 11:58:25 +00:00
augustss
012d8f3eab Fix typo in FreeBSD part of the code. 1999-01-07 22:12:08 +00:00
augustss
e4b5e096e8 Fix some FreeBSD compiler warnings. 1999-01-07 02:22:50 +00:00
augustss
b7ae463e9f Fix bug setting up endpoint descriptors for an interface. 1999-01-01 15:21:42 +00:00
augustss
20f51aae57 Split usbd_delay_ms() into two functions, one can be used in
device drivers.
1998-12-30 18:06:25 +00:00
augustss
21e272bf01 Do not blindly assume that a device supports language id 0, instead
ask it what languages it supports.
1998-12-29 16:02:55 +00:00
augustss
961d81ade7 Return more info in ioctl(USB_DEVICEINFO). 1998-12-29 15:27:16 +00:00
augustss
4386ae98b0 Send more information to USB attach routines so that they can claim
multiple interfaces.
1998-12-28 21:05:26 +00:00
augustss
dfad58d4e0 Change the host controller internal API a little and add some incomplete
support for isochronous transfers.
1998-12-28 20:13:59 +00:00
augustss
e0c228ae9c Merge changes to make the USB stack work with FreeBSD. The original
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
1998-12-26 12:53:00 +00:00
augustss
eeb8a988a9 Oops, I commited the wrong version before. 1998-12-12 12:18:26 +00:00
augustss
f8c84e3e97 Initialize variable to make gcc happy. 1998-12-12 12:06:53 +00:00