TODO revision 1.31
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.30SaugustssAdd isoc to OHCI driver.
81.30Saugustss
91.30SaugustssPort FreeBSD umass driver.
101.30Saugustss
111.30Saugustss-----------
121.30Saugustss
131.11SaugustssAdd lots of bus_dmamap_sync().
141.11Saugustss
151.2SaugustssDo bandwidth accounting.
161.2Saugustss
171.2SaugustssUse lock manager locks.
181.2Saugustss
191.5SaugustssUse the pool allocator for TDs et al.
201.5Saugustss
211.6SaugustssThrow out more USBDI gunk.
221.7Saugustss
231.13SaugustssMake hub driver notice transition between self and bus powered state.
241.21SaugustssSome hubs change the number of available ports on this transition. :(
251.7SaugustssHandle overcurrent conditions.
261.13Saugustss
271.13SaugustssMake it possible to open any device in a "generic" way, i.e., like ugen.
281.13Saugustss
291.13SaugustssRewrite mouse and keyboard driver to handle devices which use the
301.13Saugustssreport ID.  One way would be to attach ums and ukbd to uhid.
311.13Saugustss
321.13SaugustssRotate the QHs for bulk transport to get fairer scheduling.
331.13Saugustss
341.13SaugustssChange HC drivers to queue multiple request for an endpoint
351.13Saugustssto get better performance.
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.28SaugustssHandle CLEAR_ENDPOINT_STALL centrally.
541.25Saugustss
551.25SaugustssUse splsoftusb() or a thread to deliver callbacks.
561.25Saugustss
571.25SaugustssAdd threads to the Ethernet drivers.
581.29Saugustss
591.29SaugustssChange what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have
601.29Saugustssnow doesn't work because it's done in an interrupt context.
611.31Saugustss
621.31SaugustssRewrite HID driver to handle report IDs properly.  Perhaps there should
631.31Saugustssbe a hiddev to which hid with different IDs can attach?
641.29Saugustss
65