Commit Graph

49 Commits

Author SHA1 Message Date
augustss df20cb2972 Change the operation of the USB event thread. Before it only performed
USB device discovery, now it can also perform (short) tasks for device
drivers that need a process context, but don't have one.
This is not pretty, but better than using busy-wait in an interrupt context.
2001-01-21 19:00:06 +00:00
augustss 79f0bd6e1f Update many URLs. 2000-12-29 01:24:55 +00:00
augustss d71044b313 Don't give up so easily if the device does not respond properly.
Mostly from Nick Hibma (FreeBSD).
2000-09-24 02:08:38 +00:00
augustss 4b45dfbb69 Fix a device diconnect bug found by Christian Groessler <cpg@aladdin.de>. 2000-09-22 02:34:58 +00:00
augustss ed9486e158 Bring the coding style into the 80s, i.e., get rid of __P and use
ANSI prototypes and declarations.
2000-06-01 14:28:57 +00:00
augustss 30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss 46fb8de93a Use a 255 ms interrupt interval even if the descriptor in the hub asks
for something else, because the spec says that it should be 255.
2000-04-21 19:51:43 +00:00
augustss 3d9d091685 Change the exact sequence of commands when a hub is attached to follow
Windoze more closely.  This makes more devices work.

After two years of doing USB work I've finally access to a USB protocol
analyzer.  Which means I should be able to mimic what Windoze does in
certain cases instead of just following the specs.  Following the specs
is not enough since the devices often don't.
2000-04-21 16:05:50 +00:00
augustss fc72e72d7d Change (almost) all static to Static. The symbol `Static' can then be defined
to `' or `static' depending on if you want to debug or not.
2000-03-27 12:33:53 +00:00
augustss 7d05674ba7 Distinguish between device and interface classes.
(I finally found a document that said that they were different.)
2000-02-29 21:37:00 +00:00
augustss 0b2e81991d Avoid panic when a non-working hub is detached. 2000-02-12 23:44:16 +00:00
augustss 4b93911b25 Generate usb events on attach and detach. 2000-02-02 13:18:45 +00:00
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 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 bb2a9b3008 Add some more debug printing. 1999-11-24 23:13:19 +00:00
augustss 3386c68b46 Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma. 1999-11-18 23:32:25 +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 d0bbed5169 Remove an obsolete comment. 1999-10-11 09:15: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 b1a719a6cc Add a flag in the request to determine if the data copying is done by the
driver or the usbdi layer.
1999-09-12 08:23:42 +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
augustss 60179e2a13 Avoid null reference, from Nick Hibma, FreeBSD. 1999-09-02 18:13:50 +00:00
augustss 036a9c6974 Change some 'struct device' to 'bdevice'. From FreeBSD. 1999-08-28 21:42:35 +00:00
augustss 1f2661798f Make sure to mark the device as dying already in the (de)activate routine.
This avoids access to it before the detach routine has blown it away.
1999-08-23 22:55:14 +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 3016e1ebe0 Make some small changes to make it compile on OpenBSD. 1999-08-17 16:06:20 +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 656245dc18 Check that the hub ports actually power up. 1999-06-14 16:59:47 +00:00
augustss f963dc8ddb Some minor updates from FreeBSD. 1999-01-10 19:13:15 +00:00
augustss 07e0165b97 Update/add URLs to relevant USB specs. 1999-01-10 11:13:36 +00:00
augustss 875aa92d2c Various little fixes from the FreeBSD version. 1999-01-08 11:58:25 +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 2e0dbd3cc0 Add another power up wait so that some devices (that do not follow
the spec) start up more reliably.
1998-12-28 02:23:25 +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
drochner 35345a1311 make compile without USB_DEBUG, wrap lines to 80 cols 1998-12-09 19:24:28 +00:00
augustss c8736358e3 Clear stall condition on interrupt pipe. 1998-12-09 01:01:24 +00:00
augustss 28d60e8711 Use plaintest error messages for debugging. 1998-12-08 15:48:18 +00:00
augustss fd3af06364 Avoid wrapping lines in attach printfs. 1998-12-02 17:20:20 +00:00
augustss ca707fcdf2 Make the copyright header conform to the NetBSD template. 1998-11-25 22:32:04 +00:00
augustss ac2b25e392 Improve some error messages.
Make some preparations for isochronous transfers.
1998-08-02 22:30:52 +00:00
augustss 6aff95b06c Make sure to abort the interrupt pipe on disconnect of a mouse or keyboard.
Improve some error messages.
1998-08-01 20:11:38 +00:00
augustss f654e0188e Switch from a global flag to tell if the host controller should use
polling to a local one for each controller.
1998-08-01 18:16:19 +00:00
augustss 40060e366e Loop over all configurations when trying to probe for interface drivers. 1998-07-22 12:22:08 +00:00
augustss deb00272b9 Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00