1 $NetBSD: TODO.usbmp,v 1.4 2013/09/06 11:15:14 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_athn_usb.c 72 - if_otus.c 73 - if_run.c 74 - if_upgt.c 75 - if_urtwn.c 76 - if_zyd.c 77 - ucom.c 78 - ucycom.c 79 - udsir.c 80 - ugen.c - done 81 - uirda.c 82 - ulpt.c 83 - umass_isdata.c 84 - ustir.c 85 - uthum.c 86 - utoppy.c - done 87 - uvscom.c 88 - uyurex.c 89 90 91 missing D_MPSAFE drivers: 92 - ucom 93 - ucycom 94 - ugen - partially ready 95 - uhso 96 - ulpt 97 - urio 98 - usb 99 - uscanner 100 - utoppy 101 102 103 missing CALLOUT_MPSAFE drivers: 104 - if_aue 105 - if_axe 106 - if_cue 107 - if_otus 108 - if_rum 109 - if_run 110 - if_udav 111 - if_upgt 112 - if_ural 113 - if_url 114 - if_urtw 115 - if_urtwn 116 - if_zyd 117 - ukbd 118 - ulpt 119 - uyurex 120 121 122 driver testing: STATUS 123 - uhub working 124 - uhid working 125 - uhidev working 126 - ums working 127 - uts 128 - ukbd working 129 - ucycom 130 - uep 131 - udl 132 - ulpt attaches ok 133 - uhso working (must take kernel lock for scsipi) 134 - umass working (must take kernel lock for scsipi) 135 - uaudio working 136 - umidi working 137 - uirda 138 - stuirda 139 - ustir 140 - irmce 141 - aue 142 - axe working 143 - cdce 144 - cue 145 - kue 146 - udav 147 - url 148 - urndis 149 - atu 150 - otus 151 - ral 152 - rum 153 - run 154 - urtw 155 - urtwn 156 - upgt 157 - zyd 158 - upl 159 - uberry 160 - uipad 161 - urio 162 - uscanner ? (must take kernel lock for scsipi) 163 - usscanner 164 - utoppy 165 - uyap 166 - udsbr 167 - ugen mostly done 168 - pseye working 169 - uvideo 170 - auvitek ? (must take kernel lock for scsipi) 171 - emdtv ? (must take kernel lock for scsipi) 172 - ubt working (must take kernel lock for scsipi) 173 - aubtfwl 174 - u3ginit 175 ucom attachments: 176 - umodem working 177 - uark 178 - ubsa 179 - uchcom 180 - uftdi 181 - uipaq 182 - umct 183 - uplcom attaches ok 184 - uslsa working 185 - uvscom 186 - moscom 187 - uvisor 188 - ukyopon 189 - u3g 190 - ugensa 191