TODO revision 1.28
1Some things that need to be done in no particular order:
2--------------------------------------------------------
3
4Add lots of bus_dmamap_sync().
5
6Do bandwidth accounting.
7
8Use lock manager locks.
9
10Use the pool allocator for TDs et al.
11
12Throw out more USBDI gunk.
13
14Make hub driver notice transition between self and bus powered state.
15Some hubs change the number of available ports on this transition. :(
16Handle overcurrent conditions.
17
18Make it possible to open any device in a "generic" way, i.e., like ugen.
19
20Rewrite mouse and keyboard driver to handle devices which use the
21report ID.  One way would be to attach ums and ukbd to uhid.
22
23Rotate the QHs for bulk transport to get fairer scheduling.
24
25Change HC drivers to queue multiple request for an endpoint
26to get better performance.
27
28Add isoc to OHCI driver.
29
30Do memory deallocation when HC driver is detached.
31
32uaudio problems:
33	mixer names are awful, use some heuristics.
34	implement selector units
35	implement input
36	test with more devices
37
38Stylistic changes:
39	use usb_ and usbd_ consistently
40	rearrange the contents and names of some files (Nick)
41
42Document device driver API.
43
44Document HC driver API.
45
46Handle CLEAR_ENDPOINT_STALL centrally.
47
48Use splsoftusb() or a thread to deliver callbacks.
49
50Add threads to the Ethernet drivers.
51