1 $NetBSD: TODO.usbmp,v 1.3 2013/01/09 23:02:59 skrll Exp $ 2 3 4 the majority of the USB MP device interface is documented in usbdivar.h. 5 6 7 flesh out most of usbdi(9). 8 9 10 host controllers needing to be ported: 11 - dev/ic/slhci.c 12 - arch/mips/adm5120/dev/ahci.c 13 - rump/dev/lib/libugenhc/ugenhc.c 14 15 16 use /* XXXSMP ok */ markers for non-SMP-safe host controller driver uses. 17 eg, "if (lock_ptr) mutex_enter(lock_ptr); else s = splusb();" 18 19 20 add lots more asserts 21 22 23 usb_event_thread() startup should use something to sync companions 24 25 26 wake/wakeup conversion: 27 - usb_detach_waitold/wakeupold() -> usb_detach_wait/broadcast() 28 - drivers: 29 if_aue.c 30 if_axe.c 31 if_udav.c 32 if_url.c 33 ubt.c 34 ucom.c 35 ucycom.c 36 ugen.c - done 37 uhid.c - done 38 uhso.c 39 uirda.c 40 ulpt.c 41 umass.c - done, partially done -- need to check umass_scsipi.c change 42 urio.c 43 uscanner.c 44 usscanner.c 45 ustir.c 46 utoppy.c 47 48 49 use usb_delay_ms_locked() in places 50 51 52 convert uhidev users to MPSAFE: 53 ucycom(4) 54 - own cdevsw that isn't D_MPSAFE; need to check intr handlers 55 56 uhid(4) 57 - needs some locking here (not completely tested changes) 58 - done 59 60 ukbd(4) 61 ums(4) 62 uts(4) 63 pbms(4) 64 - depends upon wscons? check intr 65 66 uyurex(4) 67 - sysmon -- hm? 68 69 70 wakeup/tsleep drivers: 71 - if_otus.c 72 - if_upgt.c 73 - if_zyd.c 74 - ucom.c 75 - ucycom.c 76 - ugen.c - done 77 - uirda.c 78 - ulpt.c 79 - umass_isdata.c 80 - ustir.c 81 - uthum.c 82 - utoppy.c 83 - uvscom.c 84 - uyurex.c 85 86 87 missing D_MPSAFE drivers: 88 - ucom 89 - ucycom 90 - ugen - partially ready 91 - uhso 92 - ulpt 93 - urio 94 - usb 95 - uscanner 96 - utoppy 97 98 99 missing CALLOUT_MPSAFE drivers: 100 - if_aue 101 - if_axe 102 - if_cue 103 - if_otus 104 - if_rum 105 - if_run 106 - if_udav 107 - if_upgt 108 - if_ural 109 - if_url 110 - if_urtw 111 - if_urtwn 112 - if_zyd 113 - ukbd 114 - ulpt 115 - uyurex 116 117 118 driver testing: STATUS 119 - uhub working 120 - uhid working 121 - uhidev working 122 - ums working 123 - uts 124 - ukbd working 125 - ucycom 126 - uep 127 - udl 128 - ulpt attaches ok 129 - uhso working (must take kernel lock for scsipi) 130 - umass working (must take kernel lock for scsipi) 131 - uaudio working 132 - umidi working 133 - uirda 134 - stuirda 135 - ustir 136 - irmce 137 - aue 138 - axe working 139 - cdce 140 - cue 141 - kue 142 - udav 143 - url 144 - urndis 145 - atu 146 - otus 147 - ral 148 - rum 149 - run 150 - urtw 151 - urtwn 152 - upgt 153 - zyd 154 - upl 155 - uberry 156 - uipad 157 - urio 158 - uscanner ? (must take kernel lock for scsipi) 159 - usscanner 160 - utoppy 161 - uyap 162 - udsbr 163 - ugen mostly done 164 - pseye working 165 - uvideo 166 - auvitek ? (must take kernel lock for scsipi) 167 - emdtv ? (must take kernel lock for scsipi) 168 - ubt working (must take kernel lock for scsipi) 169 - aubtfwl 170 - u3ginit 171 ucom attachments: 172 - umodem working 173 - uark 174 - ubsa 175 - uchcom 176 - uftdi 177 - uipaq 178 - umct 179 - uplcom attaches ok 180 - uslsa working 181 - uvscom 182 - moscom 183 - uvisor 184 - ukyopon 185 - u3g 186 - ugensa 187