TODO revision 1.34
1Some things that need to be done in no particular order:
2--------------------------------------------------------
3
4Before 1.5:
5-----------
6
7Reset toggle on SET_INTERFACE (USB 1.1)
8
9Allow interrupt out endpoints. (USB 1.1)
10
11-----------
12
13Make flow control work in ucom.
14
15Figure out why uvisor is so slow.
16
17Translate UFI commands?
18
19Add lots of bus_dmamap_sync().
20
21Do bandwidth accounting.
22
23Use lock manager locks.
24
25Use the pool allocator for TDs et al.
26
27Throw out more USBDI gunk.
28
29Make hub driver notice transition between self and bus powered state.
30Some hubs change the number of available ports on this transition. :(
31Handle overcurrent conditions.
32
33Make it possible to open any device in a "generic" way, i.e., like ugen.
34
35Rotate the QHs for bulk transport to get fairer scheduling.
36
37Change HC drivers to queue multiple request for an endpoint
38to get better performance.
39
40Do memory deallocation when HC driver is detached.
41
42uaudio problems:
43	mixer names are awful, use some heuristics.
44	implement selector units
45	implement input
46	test with more devices
47
48Stylistic changes:
49	use usb_ and usbd_ consistently
50	rearrange the contents and names of some files (Nick)
51
52Document device driver API.
53
54Document HC driver API.
55
56Handle CLEAR_ENDPOINT_STALL centrally.
57
58Use splsoftusb() or a thread to deliver callbacks.
59
60Add threads to the Ethernet drivers.
61
62Change what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have
63now doesn't work because it's done in an interrupt context.
64
65Factor out the common code from the Ethernet drivers and reuse that.
66
67Rewrite HID driver to handle report IDs properly.  Perhaps there should
68be a hiddev to which hid with different IDs can attach?
69
70Get rid of hcpriv.
71