augustss
5e8cefc2ea
Ad function to remove a usb task.
2001-01-23 17:04:30 +00:00
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
e8db629494
Add code to use soft interrupt to handle USB interrupt processing.
...
Don't enable the code since it doesn't work with the kludgy Ethernet drivers.
2001-01-21 02:39:52 +00:00
jdolecek
34c8ae80da
constify
2001-01-18 20:28:15 +00:00
augustss
34bb7b9a35
Don't try to access a device that is being disconnected when generating
...
the detach event. Fixes (I hope) PR 11713 from itohy@netbsd.org (ITOH Yasufumi).
2000-12-13 04:05:14 +00:00
augustss
d9c7baa183
Add a way to do control transfers on other pipes than the default pipe.
2000-09-23 21:02:04 +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
d6c4ac7ff2
Use ratecheck() to limit error messages on disconnect.
...
Break out some common functionality.
2000-03-02 12:37:50 +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
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
537c04e5ee
Add a flag, USBD_FORCE_SHORT_XFER, to transfers. Using this flag will
...
force the last packet of a transfer to be smaller than the maximum
packet size. The only time this matters is if the transfer size is
a multiple of the maximum packet size, in which case a 0 length packet
is sent last.
Some weird devices require this behaviour to determine the end of
a transfer.
2000-01-16 13:12:05 +00:00
augustss
9b9e6e6d2c
GC an unused typedef.
2000-01-16 11:19:05 +00:00
augustss
c664f35fc5
Let usbd_set_polling() work on a usbd_device_handle instead of
...
a usbd_interface_handle.
2000-01-16 09:37:18 +00:00
augustss
3386c68b46
Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
1999-11-18 23:32:25 +00:00
augustss
cdaec29859
A few more purely stylistic changes that I missed in the last round.
1999-11-17 23:00:49 +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
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
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
98b6524413
* Move DMA buffer allocation to HC independent code.
...
* Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.
1999-09-11 08:19:26 +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
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
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
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
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
bf1154922d
Add a length paarmeter to usbd_do_request_flags().
1999-01-03 01:00:56 +00:00
augustss
16a2a55378
Add usbd_bulk_transfer(), a function to do interruptible transfer that
...
do not time out.
1999-01-01 15:25:57 +00:00
augustss
16b49a78c6
New USB attach args.
1998-12-29 03:09:48 +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
46e04a18a1
Take care of some lines > 80 chars.
1998-12-10 23:16:47 +00:00
augustss
f8b9a417f0
Improvement to the ugen driver.
...
Better error checking.
Some code rearrengment.
1998-12-09 00:18:10 +00:00
augustss
4d19a06c27
Some minor API changes and additions.
1998-12-08 15:18:45 +00:00
augustss
2228eaca8a
Add configuration and interface locators.
1998-12-02 22:57:08 +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
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
a0803787f7
Add functions to execute asynchronous requests and use these from
...
interrupt context.
[I had some feline debugging help here. I noticed that every time Kem,
our kitty, jumped onto the USB keyboard the machine crashed.]
1998-07-29 20:50:11 +00:00
augustss
638fb6a638
A first stab att supporting console access with a USB keyboard.
1998-07-26 17:42:48 +00:00
augustss
d6ef9cbb33
Add some comments and a function to set the alternate settings in an
...
interface.
1998-07-23 13:44:21 +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