MFNetBSD: usb_subr.c (1.87), usbdi.h (1.53)
date: 2001/08/15 00:04:59; author: augustss; Add a little infrastructure so that individual drivers can easily check if thee was a vendor+product locator match.
This commit is contained in:
parent
3348c0092c
commit
e92dc1d513
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: usb_subr.c,v 1.86 2001/05/16 04:50:11 lukem Exp $ */
|
||||
/* $NetBSD: usb_subr.c,v 1.87 2001/08/15 00:04:59 augustss Exp $ */
|
||||
/* $FreeBSD$ */
|
||||
|
||||
/*
|
||||
@ -1166,6 +1166,18 @@ usbd_submatch(struct device *parent, void *match, void *aux)
|
||||
)
|
||||
)
|
||||
return 0;
|
||||
if (cf->uhubcf_vendor != UHUB_UNK_VENDOR &&
|
||||
cf->uhubcf_vendor == uaa->vendor &&
|
||||
cf->uhubcf_product != UHUB_UNK_PRODUCT &&
|
||||
cf->uhubcf_product == uaa->product) {
|
||||
/* We have a vendor&product locator match */
|
||||
if (cf->uhubcf_release != UHUB_UNK_RELEASE &&
|
||||
cf->uhubcf_release == uaa->release)
|
||||
uaa->matchlvl = UMATCH_VENDOR_PRODUCT_REV;
|
||||
else
|
||||
uaa->matchlvl = UMATCH_VENDOR_PRODUCT;
|
||||
} else
|
||||
uaa->matchlvl = 0;
|
||||
return ((*cf->cf_attach->ca_match)(parent, cf, aux));
|
||||
}
|
||||
|
||||
|
@ -213,6 +213,7 @@ struct usb_attach_arg {
|
||||
int vendor;
|
||||
int product;
|
||||
int release;
|
||||
int matchlvl;
|
||||
usbd_device_handle device; /* current device */
|
||||
usbd_interface_handle iface; /* current interface */
|
||||
int usegeneric;
|
||||
|
Loading…
Reference in New Issue
Block a user