TODO revision 1.30
11.1SaugustssSome things that need to be done in no particular order:
21.7Saugustss--------------------------------------------------------
31.1Saugustss
41.30SaugustssBefore 1.5:
51.30Saugustss-----------
61.30Saugustss
71.30SaugustssNew abort code for UHCI.
81.30Saugustss
91.30SaugustssAdd isoc to OHCI driver.
101.30Saugustss
111.30SaugustssPort FreeBSD umass driver.
121.30Saugustss
131.30Saugustss-----------
141.30Saugustss
151.11SaugustssAdd lots of bus_dmamap_sync().
161.11Saugustss
171.2SaugustssDo bandwidth accounting.
181.2Saugustss
191.2SaugustssUse lock manager locks.
201.2Saugustss
211.5SaugustssUse the pool allocator for TDs et al.
221.5Saugustss
231.6SaugustssThrow out more USBDI gunk.
241.7Saugustss
251.13SaugustssMake hub driver notice transition between self and bus powered state.
261.21SaugustssSome hubs change the number of available ports on this transition. :(
271.7SaugustssHandle overcurrent conditions.
281.13Saugustss
291.13SaugustssMake it possible to open any device in a "generic" way, i.e., like ugen.
301.13Saugustss
311.13SaugustssRewrite mouse and keyboard driver to handle devices which use the
321.13Saugustssreport ID.  One way would be to attach ums and ukbd to uhid.
331.13Saugustss
341.13SaugustssRotate the QHs for bulk transport to get fairer scheduling.
351.13Saugustss
361.13SaugustssChange HC drivers to queue multiple request for an endpoint
371.13Saugustssto get better performance.
381.14Saugustss
391.25SaugustssDo memory deallocation when HC driver is detached.
401.20Saugustss
411.14Saugustssuaudio problems:
421.14Saugustss	mixer names are awful, use some heuristics.
431.14Saugustss	implement selector units
441.14Saugustss	implement input
451.14Saugustss	test with more devices
461.15Saugustss
471.17SaugustssStylistic changes:
481.17Saugustss	use usb_ and usbd_ consistently
491.17Saugustss	rearrange the contents and names of some files (Nick)
501.17Saugustss
511.10SaugustssDocument device driver API.
521.10Saugustss
531.10SaugustssDocument HC driver API.
541.22Saugustss
551.28SaugustssHandle CLEAR_ENDPOINT_STALL centrally.
561.25Saugustss
571.25SaugustssUse splsoftusb() or a thread to deliver callbacks.
581.25Saugustss
591.25SaugustssAdd threads to the Ethernet drivers.
601.29Saugustss
611.29SaugustssChange what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have
621.29Saugustssnow doesn't work because it's done in an interrupt context.
631.29Saugustss
64