TODO revision 1.21
1Some things that need to be done in no particular order:
2--------------------------------------------------------
3
4Find race condition in UHCI driver.  Rarely (under heavy USB load) you get a
5"uhci_idone: ii=0x%x is done!".  This "cannot happen".
6
7Add lots of bus_dmamap_sync().
8
9Do bandwidth accounting.
10
11Use lock manager locks.
12
13Use the pool allocator for TDs et al.
14
15Throw out more USBDI gunk.
16
17Make hub driver notice transition between self and bus powered state.
18Some hubs change the number of available ports on this transition. :(
19Handle overcurrent conditions.
20
21Make it possible to open any device in a "generic" way, i.e., like ugen.
22
23Rewrite mouse and keyboard driver to handle devices which use the
24report ID.  One way would be to attach ums and ukbd to uhid.
25
26Rotate the QHs for bulk transport to get fairer scheduling.
27
28Change HC drivers to queue multiple request for an endpoint
29to get better performance.
30
31Add generic ucom layer for serial adapters.
32
33Add isoc to OHCI driver.
34
35Do memory deallocation when HC driver is deactivated.
36
37uaudio problems:
38	mixer names are awful, use some heuristics.
39	implement selector units
40	implement input
41	test with more devices
42
43Stylistic changes:
44	use NULL not 0
45	declare all local definitions static
46	rename s/request/xfer/
47	use usb_ and usbd_ consistently
48	rename s/r/err/
49	use implicit test for no err
50	indent continuation lines according to KNF
51	rearrange the contents and names of some files (Nick)
52
53Document device driver API.
54
55Document HC driver API.
56