TODO revision 1.23
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 usb_ and usbd_ consistently
45	rearrange the contents and names of some files (Nick)
46
47Document device driver API.
48
49Document HC driver API.
50
51Handle CLEAR_ENPOINT_STALL centrally.
52