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