Module Name: src Committed By: mrg Date: Sat Feb 25 07:59:03 UTC 2012
Added Files: src/sys/dev/usb [jmcneill-usbmp]: TODO.usbmp Log Message: document the status of usbmp branch. major remaining tasks: - port slhci, adm5120 usb and rump usb host controllers [*] - implement usb_detach_wait/wakeup based upon cv/mutex [*] - port drivers that use tsleep/wakeup to modern facilities - port cdev/bdev drivers to D_MPSAFE - update callouts to CALLOUT_MPSAFE - test more devices [*] only really more testing is necessary at this point, all the above can be done after merging this code into -current. items marked with [*] are planned to be done before this. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1.2.1 src/sys/dev/usb/TODO.usbmp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Added files: Index: src/sys/dev/usb/TODO.usbmp diff -u /dev/null src/sys/dev/usb/TODO.usbmp:1.1.2.1 --- /dev/null Sat Feb 25 07:59:04 2012 +++ src/sys/dev/usb/TODO.usbmp Sat Feb 25 07:59:03 2012 @@ -0,0 +1,157 @@ +$NetBSD: TODO.usbmp,v 1.1.2.1 2012/02/25 07:59:03 mrg Exp $ + + +the majority of the USB MP device interface is documented in usbdivar.h. + + +host controller porting: + - slhci + - arch/mips/adm5120/dev/ahci.c + - rump/dev/lib/libugenhc/ugenhc.c + + +use /* XXXSMP ok */ markers for non-SMP-safe host controller driver uses. +eg, "if (lock_ptr) mutex_enter(lock_ptr); else s = splusb();" + + +add lots of asserts + + +wakeup removal core: + - usb_detach_wait/wakeup() -> add a usb_detach_cvwait/broadcast() that + take a mutex + + +convert uhidev users to MPSAFE: + ucycom(4) + - own cdevsw that isn't D_MPSAFE; need to check intr handlers + + uhid(4) + - needs some locking here (not completely tested changes) + + ukbd(4) + ums(4) + uts(4) + pbms(4) + - depends upon wscons? check intr + + uyurex(4) + - sysmon -- hm? + + +wakeup/tsleep drivers: + - if_otus.c + - if_upgt.c + - if_zyd.c + - ucom.c + - ucycom.c + - ugen.c + - uirda.c + - ulpt.c + - umass_isdata.c + - usb.c + - usb_subr.c + - ustir.c + - uthum.c + - utoppy.c + - uvscom.c + - uyurex.c + + +missing D_MPSAFE drivers: + - ucom + - ucycom + - ugen + - uhso + - ulpt + - urio + - usb + - uscanner + - utoppy + + +missing CALLOUT_MPSAFE drivers: + - if_aue + - if_axe + - if_cue + - if_otus + - if_rum + - if_udav + - if_upgt + - if_ural + - if_url + - if_zyd + - ohci + - uhci + - ukbd + - ulpt + - usbdi + - uyurex + + +driver testing: STATUS + - uhub working + - uhid working, MPSAFE patches not yet fully tested + - uhidev working + - ums working + - uts + - ukbd working + - ucycom + - uep + - udl + - ulpt + - uhso ? (must take kernel lock for scsipi) + - umass working (must take kernel lock for scsipi) + - uaudio working + - umidi working + - uirda + - stuirda + - ustir + - irmce + - aue + - axe + - cdce + - cue + - kue + - udav + - url + - urndis + - atu + - otus + - ral + - rum + - upgt + - zyd + - upl + - uberry + - uipad + - urio + - uscanner ? (must take kernel lock for scsipi) + - usscanner + - utoppy + - uyap + - udsbr + - ugen + - pseye + - uvideo + - auvitek + - emdtv + - ubt + - aubtfwl + - u3ginit +ucom attachments: + - umodem + - uark + - ubsa + - uchcom + - uftdi + - uipaq + - umct + - uplcom + - uslsa + - uvscom + - moscom + - uvisor + - ukyopon + - u3g + - ugensa