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