diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-07-05 06:01:03 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-07-05 06:01:03 +0200 |
commit | 502247bf92f380a642b8e17048466c18bb9efd24 (patch) | |
tree | 6def2bea9f0977c82481a0dcab6adaf4b7de10dc /sys/src/cmd/nusb/serial/serial.c | |
parent | 336e605a1191efe1293333bac3b4f76d07b9f89b (diff) |
nusb/serial: more cleanup
Diffstat (limited to 'sys/src/cmd/nusb/serial/serial.c')
-rw-r--r-- | sys/src/cmd/nusb/serial/serial.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/sys/src/cmd/nusb/serial/serial.c b/sys/src/cmd/nusb/serial/serial.c index c543dde40..1fd804bd3 100644 --- a/sys/src/cmd/nusb/serial/serial.c +++ b/sys/src/cmd/nusb/serial/serial.c @@ -12,11 +12,7 @@ #include "usb.h" #include "serial.h" - - int serialdebug; -static int sdebug; - Serialport **ports; int nports; @@ -308,6 +304,17 @@ serdumpst(Serialport *p, char *buf, int bufsz) return s; } +Cinfo* +matchid(Cinfo *tab, int vid, int did) +{ + while(tab->vid != 0){ + if(tab->vid == vid && (tab->did == did || did == 0)) + return tab; + tab++; + } + return nil; +} + static int serinit(Serialport *p) { @@ -755,10 +762,10 @@ static Srv serialfs = { .end = dend, }; -int ftmatch(Serial *ser, char *info); -int plmatch(Serial *ser, char *info); -int slmatch(Serial *ser, char *info); -int uconsmatch(Serial *ser, char *info); +extern int ftprobe(Serial *ser); +extern int plprobe(Serial *ser); +extern int slprobe(Serial *ser); +extern int uconsprobe(Serial *ser); void threadmain(int argc, char* argv[]) @@ -790,14 +797,11 @@ threadmain(int argc, char* argv[]) ser->jtag = -1; ser->nifcs = 1; - snprint(buf, sizeof buf, "vid %#06x did %#06x", - dev->usb->vid, dev->usb->did); - /* probe all the drivers */ - if(plmatch(ser, buf) - && uconsmatch(ser, buf) - && ftmatch(ser, buf) - && slmatch(ser, buf)) + if(plprobe(ser) + && uconsprobe(ser) + && ftprobe(ser) + && slprobe(ser)) sysfatal("no serial devices found"); for(i = 0; i < ser->nifcs; i++){ @@ -818,9 +822,8 @@ threadmain(int argc, char* argv[]) for(i = 0; i < ser->nifcs; i++){ p = &ser->p[i]; dprint(2, "serial: valid interface, calling serinit\n"); - if(serinit(p) < 0){ + if(serinit(p) < 0) sysfatal("wserinit: %r"); - } dsprint(2, "serial: adding interface %d, %p\n", p->interfc, p); if(ser->nifcs == 1) @@ -835,10 +838,7 @@ threadmain(int argc, char* argv[]) } qunlock(ser); - if(nports == 0) - threadexits("no ports"); - snprint(buf, sizeof buf, "%d.serial", dev->id); threadpostsharesrv(&serialfs, nil, "usb", buf); - threadexits(0); + threadexits(nil); } |