TODO revision 1.33
1Some things that need to be done in no particular order:
2--------------------------------------------------------
3
4Before 1.5:
5-----------
6
7Port FreeBSD umass driver.
8
9-----------
10
11Add lots of bus_dmamap_sync().
12
13Do bandwidth accounting.
14
15Use lock manager locks.
16
17Use the pool allocator for TDs et al.
18
19Throw out more USBDI gunk.
20
21Make hub driver notice transition between self and bus powered state.
22Some hubs change the number of available ports on this transition. :(
23Handle overcurrent conditions.
24
25Make it possible to open any device in a "generic" way, i.e., like ugen.
26
27Rewrite mouse and keyboard driver to handle devices which use the
28report ID.  One way would be to attach ums and ukbd to uhid.
29
30Rotate the QHs for bulk transport to get fairer scheduling.
31
32Change HC drivers to queue multiple request for an endpoint
33to get better performance.
34
35Do memory deallocation when HC driver is detached.
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_ENDPOINT_STALL centrally.
52
53Use splsoftusb() or a thread to deliver callbacks.
54
55Add threads to the Ethernet drivers.
56
57Change what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have
58now doesn't work because it's done in an interrupt context.
59
60Rewrite HID driver to handle report IDs properly.  Perhaps there should
61be a hiddev to which hid with different IDs can attach?
62
63Get rid of hcpriv.
64