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/ucons.c | |
parent | 336e605a1191efe1293333bac3b4f76d07b9f89b (diff) |
nusb/serial: more cleanup
Diffstat (limited to 'sys/src/cmd/nusb/serial/ucons.c')
-rw-r--r-- | sys/src/cmd/nusb/serial/ucons.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/sys/src/cmd/nusb/serial/ucons.c b/sys/src/cmd/nusb/serial/ucons.c index 7b2f3f9ee..552126fc8 100644 --- a/sys/src/cmd/nusb/serial/ucons.c +++ b/sys/src/cmd/nusb/serial/ucons.c @@ -15,26 +15,19 @@ enum { }; Cinfo uconsinfo[] = { - { Net20DCVid, Net20DCDid }, - { HuaweiVid, HuaweiE220 }, - { 0, 0 }, + { Net20DCVid, Net20DCDid, 1 }, + { HuaweiVid, HuaweiE220, 2 }, + { 0, 0, 0 }, }; int -uconsmatch(Serial *ser, char *info) +uconsprobe(Serial *ser) { + Usbdev *ud = ser->dev->usb; Cinfo *ip; - char buf[50]; - for(ip = uconsinfo; ip->vid != 0; ip++){ - snprint(buf, sizeof buf, "vid %#06x did %#06x", - ip->vid, ip->did); - dsprint(2, "serial: %s %s\n", buf, info); - if(strstr(info, buf) != nil){ - if(ip->vid == HuaweiVid && ip->did == HuaweiE220) - ser->nifcs = 2; - return 0; - } - } - return -1; + if((ip = matchid(uconsinfo, ud->vid, ud->did)) == nil) + return -1; + ser->nifcs = ip->cid; + return 0; } |