USB: add USB_DEVICE_INTERFACE_CLASS macro
Matching on device and interface class with with unspecified subclass and protocol is sometimes useful. This is slightly different from USB_DEVICE_AND_INTERFACE_INFO which requires the full interface class/subclass/protocol triplet. Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1b95bee563
commit
17b72feb2b
|
@ -807,6 +807,22 @@ static inline int usb_make_path(struct usb_device *dev, char *buf, size_t size)
|
||||||
.bcdDevice_lo = (lo), \
|
.bcdDevice_lo = (lo), \
|
||||||
.bcdDevice_hi = (hi)
|
.bcdDevice_hi = (hi)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* USB_DEVICE_INTERFACE_CLASS - describe a usb device with a specific interface class
|
||||||
|
* @vend: the 16 bit USB Vendor ID
|
||||||
|
* @prod: the 16 bit USB Product ID
|
||||||
|
* @cl: bInterfaceClass value
|
||||||
|
*
|
||||||
|
* This macro is used to create a struct usb_device_id that matches a
|
||||||
|
* specific interface class of devices.
|
||||||
|
*/
|
||||||
|
#define USB_DEVICE_INTERFACE_CLASS(vend, prod, cl) \
|
||||||
|
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
|
||||||
|
USB_DEVICE_ID_MATCH_INT_CLASS, \
|
||||||
|
.idVendor = (vend), \
|
||||||
|
.idProduct = (prod), \
|
||||||
|
.bInterfaceClass = (cl)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* USB_DEVICE_INTERFACE_PROTOCOL - describe a usb device with a specific interface protocol
|
* USB_DEVICE_INTERFACE_PROTOCOL - describe a usb device with a specific interface protocol
|
||||||
* @vend: the 16 bit USB Vendor ID
|
* @vend: the 16 bit USB Vendor ID
|
||||||
|
|
Reference in New Issue