summaryrefslogtreecommitdiff
path: root/sys/src/cmd/nusb/serial/ucons.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-07-05 06:01:03 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2014-07-05 06:01:03 +0200
commit502247bf92f380a642b8e17048466c18bb9efd24 (patch)
tree6def2bea9f0977c82481a0dcab6adaf4b7de10dc /sys/src/cmd/nusb/serial/ucons.c
parent336e605a1191efe1293333bac3b4f76d07b9f89b (diff)
nusb/serial: more cleanup
Diffstat (limited to 'sys/src/cmd/nusb/serial/ucons.c')
-rw-r--r--sys/src/cmd/nusb/serial/ucons.c25
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;
}