TODO revision 1.25
11.1SaugustssSome things that need to be done in no particular order:
21.7Saugustss--------------------------------------------------------
31.1Saugustss
41.21SaugustssFind race condition in UHCI driver.  Rarely (under heavy USB load) you get a
51.21Saugustss"uhci_idone: ii=0x%x is done!".  This "cannot happen".
61.21Saugustss
71.25SaugustssAdd events for HC attach/detach and driver attach/detach.
81.24Saugustss
91.11SaugustssAdd lots of bus_dmamap_sync().
101.11Saugustss
111.2SaugustssDo bandwidth accounting.
121.2Saugustss
131.2SaugustssUse lock manager locks.
141.2Saugustss
151.5SaugustssUse the pool allocator for TDs et al.
161.5Saugustss
171.6SaugustssThrow out more USBDI gunk.
181.7Saugustss
191.13SaugustssMake hub driver notice transition between self and bus powered state.
201.21SaugustssSome hubs change the number of available ports on this transition. :(
211.7SaugustssHandle overcurrent conditions.
221.13Saugustss
231.13SaugustssMake it possible to open any device in a "generic" way, i.e., like ugen.
241.13Saugustss
251.13SaugustssRewrite mouse and keyboard driver to handle devices which use the
261.13Saugustssreport ID.  One way would be to attach ums and ukbd to uhid.
271.13Saugustss
281.13SaugustssRotate the QHs for bulk transport to get fairer scheduling.
291.13Saugustss
301.13SaugustssChange HC drivers to queue multiple request for an endpoint
311.13Saugustssto get better performance.
321.13Saugustss
331.13SaugustssAdd generic ucom layer for serial adapters.
341.14Saugustss
351.14SaugustssAdd isoc to OHCI driver.
361.14Saugustss
371.25SaugustssDo memory deallocation when HC driver is detached.
381.20Saugustss
391.14Saugustssuaudio problems:
401.14Saugustss	mixer names are awful, use some heuristics.
411.14Saugustss	implement selector units
421.14Saugustss	implement input
431.14Saugustss	test with more devices
441.15Saugustss
451.17SaugustssStylistic changes:
461.17Saugustss	use usb_ and usbd_ consistently
471.17Saugustss	rearrange the contents and names of some files (Nick)
481.17Saugustss
491.10SaugustssDocument device driver API.
501.10Saugustss
511.10SaugustssDocument HC driver API.
521.22Saugustss
531.23SaugustssHandle CLEAR_ENPOINT_STALL centrally.
541.25Saugustss
551.25SaugustssUse splsoftusb() or a thread to deliver callbacks.
561.25Saugustss
571.25SaugustssAdd threads to the Ethernet drivers.
58