Home | History | Annotate | Line # | Download | only in usb
TODO.usbmp revision 1.3
      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