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